Can';不运行Grails应用程序?
当我尝试运行grails应用程序时,出现以下错误:Can';不运行Grails应用程序?,grails,Grails,当我尝试运行grails应用程序时,出现以下错误: Error 2012-11-30 15:35:57,948 [localhost-startStop-1] ERROR context.ContextLoader - Context initialization failed Message: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicati
Error 2012-11-30 15:35:57,948 [localhost-startStop-1] ERROR context.ContextLoader - Context initialization failed
Message: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to locate constructor with Class parameter for class org.codehaus.groovy.grails.commons.DefaultGrailsServiceClass
Line | Method
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
Caused by RuntimeException: Unable to locate constructor with Class parameter for class org.codehaus.groovy.grails.commons.DefaultGrailsServiceClass
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
Caused by InvocationTargetException: null
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
Caused by NoClassDefFoundError: com/lp/labs/scconnector/GitConnector
->> 2427 | privateGetDeclaredMethods in java.lang.Class
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1791 | getDeclaredMethods in ''
| 303 | innerRun in java.util.concurrent.FutureTask$Sync
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
Caused by ClassNotFoundException: com.lp.labs.scconnector.GitConnector
->> 202 | run in java.net.URLClassLoader$1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 190 | findClass in java.net.URLClassLoader
| 306 | loadClass in java.lang.ClassLoader
| 247 | loadClass in ''
| 2427 | privateGetDeclaredMethods in java.lang.Class
| 1791 | getDeclaredMethods in ''
| 303 | innerRun in java.util.concurrent.FutureTask$Sync
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
| Error 2012-11-30 15:35:58,068 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error executing bootstraps: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to locate constructor with Class parameter for class org.codehaus.groovy.grails.commons.DefaultGrailsServiceClass
Message: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to locate constructor with Class parameter for class org.codehaus.groovy.grails.commons.DefaultGrailsServiceClass
Line | Method
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
Caused by RuntimeException: Unable to locate constructor with Class parameter for class org.codehaus.groovy.grails.commons.DefaultGrailsServiceClass
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
Caused by InvocationTargetException: null
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
Caused by NoClassDefFoundError: com/lp/labs/scconnector/GitConnector
->> 2427 | privateGetDeclaredMethods in java.lang.Class
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1791 | getDeclaredMethods in ''
| 303 | innerRun in java.util.concurrent.FutureTask$Sync
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
Caused by ClassNotFoundException: com.lp.labs.scconnector.GitConnector
->> 202 | run in java.net.URLClassLoader$1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 190 | findClass in java.net.URLClassLoader
| 306 | loadClass in java.lang.ClassLoader
| 247 | loadClass in ''
| 2427 | privateGetDeclaredMethods in java.lang.Class
| 1791 | getDeclaredMethods in ''
| 303 | innerRun in java.util.concurrent.FutureTask$Sync
| 138 | run in java.util.concurrent.FutureTask
| 886 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . in java.lang.Thread
这是我的build.config文件:
grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0)
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.target.level = 1.6
grails.project.source.level = 1.6
//grails.project.war.file = "target/${appName}-${appVersion}.war"
grails.project.dependency.resolution = {
// inherit Grails' default dependencies
inherits("global") {
// specify dependency exclusions here; for example, uncomment this to disable ehcache:
// excludes 'ehcache'
}
log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
checksums true // Whether to verify checksums on resolve
repositories {
inherits true // Whether to inherit repository definitions from plugins
grailsPlugins()
grailsHome()
grailsCentral()
mavenLocal()
mavenCentral()
// uncomment these (or add new ones) to enable remote dependency resolution from public Maven repositories
//mavenRepo "http://snapshots.repository.codehaus.org"
//mavenRepo "http://repository.codehaus.org"
//mavenRepo "http://download.java.net/maven/2/"
//mavenRepo "http://repository.jboss.com/maven2/"
}
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
// runtime 'mysql:mysql-connector-java:5.1.20'
compile 'org.eclipse.jgit:org.eclipse.jgit:2.0.0.201206130900-r'
compile 'SC-Connector:SC-Connector:1.0'
compile 'AccountConnector:AccountConnector:1.0'
// runtime
runtime 'org.springframework.ws:spring-xml:2.0.4.RELEASE'
runtime 'org.springframework.ws:spring-ws-core:2.0.4.RELEASE'
runtime 'com.thoughtworks.xstream:xstream:1.4.2'
runtime 'org.springframework.ws:spring-oxm:3.1.0.RELEASE'
runtime 'org.springframework.ws:spring-oxm-tiger:1.5.10'
runtime 'com.sun.xml.bind:jaxb-impl:2.1.12'
runtime 'javax.xml.bind:jaxb-api:2.1'
runtime 'com.google.guava:guava:13.0.1'
runtime 'xmlpull:xmlpull:1.1.3.1'
}
plugins {
runtime ":hibernate:$grailsVersion"
runtime ":jquery:1.7.2"
runtime ":resources:1.1.6"
build ":tomcat:$grailsVersion"
runtime ":database-migration:1.1"
compile ':cache:1.0.0'
}
}
我认为类在我的类路径上,所以我不认为这是一个类路径问题。有人知道怎么解决吗
谢谢,是lib目录下jar文件中的
com.lp.labs.scconnector.GitConnector吗?如果是这样,请运行grails compile--refresh dependencies
让grails将其添加到类路径中也许您的问题可能源于其他原因,我也有同样的错误,在咨询了所有地方后,我建议清理grails并解决所有问题。使用命令
grails clean-all
使用后:
grails refresh-dependencies
grails-compile
比跑
grails run-app
请提供更多信息。grails版本是什么?这是一个新项目?您是否已经尝试了grails clean
和grails compile
?grails版本是2.1.1。我把这个项目复制到另一台机器上,它正在工作。我尝试清理并再次运行该项目,但仍然显示相同的错误。您可以发布您的buildConfig吗com.lp.labs.scconnector.GitConnector
是某个私有类吗?我没有找到任何关于这个的信息。正如@burt所回答的,这与lib文件夹中的jar有关。grails run war works?我得到:发生错误异常触发事件[CreateWarStart]:grails app/migrations不存在。是的,它位于lib文件夹中的jar文件中。我运行这个命令,但没有任何更改。您是从命令行还是IDE运行的?要在STS中识别它,您需要运行Grails工具|刷新依赖项以使STS与Grails类路径同步。实际上,仔细观察,您会发现一个NoClassDefFoundError
,它不同于ClassNotFoundException
,因为它意味着类存在,但它所依赖的类却不存在。您是否缺少其他依赖项?