Я разработал приложение (названное CBR) в Grails 1.3.7.Когда я запускаю его с помощью «grails run-app» или «grails run-app prod», он работает нормально.Однако, когда я создаю войну, используя команду «grails war», а затем развертываю эту войну в Tomcat 6.0.32, я вижу следующее исключение:
Sep 22, 2011 1:55:57 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive CBR.war
context.ContextLoader Context initialization failed
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 1 in
XML document from ServletContext resource [/WEB-INF/spring/resources.xml] is in
valid; nested exception is org.xml.sax.SAXParseException: Premature end of file.
at grails.spring.BeanBuilder.invokeBeanDefiningClosure(BeanBuilder.java:723)
at grails.spring.BeanBuilder.beans(BeanBuilder.java:573)
at grails.spring.BeanBuilder.invokeMethod(BeanBuilder.java:519)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1059)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
... 3 more
Sep 22, 2011 1:57:48 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Sep 22, 2011 1:57:48 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/CBR] startup failed due to previous errors
Хотя проект был полностью распакован.Я проверил conf / spring / resources.xml ... он пуст.
Я подготовил все потоки, похожие на проблему развертывания войны в Tomcat, но не смог разобраться.
Ниже приведен код из моего файла config.groovy:
environments {
production {
grails.serverURL = "http://localhost:8080/${appName}"
}
development {
grails.serverURL = "http://localhost:8080/${appName}/auth"
}
test {
grails.serverURL = "http://localhost:8080/${appName}"
}
}
И из файла Datasource.groovy:
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:mysql://localhost:3306/cbr?autoreconnect=true"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:mysql://localhost:3306/cbr?autoreconnect=true"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:mysql://localhost:3306/cbr_prod?autoreconnect=true"
}
}
}
И еще несколько деталей из файла application.properties:
app.grails.version=1.3.7
app.name=CBR
app.servlet.version=2.4
app.version=0.1
plugins.autotranslate=0.3
plugins.hibernate=1.3.7
plugins.message-reports=0.1
plugins.navigation=1.2
plugins.richui=0.8
plugins.shiro=1.1.3
plugins.tomcat=1.3.7
plugins.xfire=0.8.3
Последние 2 дня я потратил на решение проблемы.Пожалуйста, помогите мне, это заняло у меня 1 месяц на разработку этого приложения.