2013-10-27 3 views
7

프로젝트를 grails 2.2에서 2.3으로 마이그레이션하고 테스트 응용 프로그램 (IDEA 12.1.6)을 실행할 때, 이 오류Grails 2.2 to 2.3 - forked test-app 실행 중 오류 : grails build listener 클래스를로드 할 수 없습니다.

| Error Error running forked test-app: Could not load grails build listener class 
java.lang.RuntimeException: Could not load grails build listener class 
    at org.codehaus.groovy.grails.cli.support.GrailsBuildEventListener.addGrailsBuildListener(GrailsBuildEventListener.java:258) 
    at org.codehaus.groovy.grails.cli.support.GrailsBuildEventListener.loadGrailsBuildListeners(GrailsBuildEventListener.java:106) 
    at org.codehaus.groovy.grails.cli.support.GrailsBuildEventListener.initialize(GrailsBuildEventListener.java:73) 
    at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProjectClassExecutor.createEventListener(ForkedGrailsProjectClassExecutor.groovy:102) 
    at org.codehaus.groovy.grails.cli.fork.testing.ForkedGrailsTestRunner.createInstance(ForkedGrailsTestRunner.groovy:93) 
    at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProjectClassExecutor.initializeProjectInstance(ForkedGrailsProjectClassExecutor.groovy:85) 
    at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProjectClassExecutor.run(ForkedGrailsProjectClassExecutor.groovy:72) 
    at org.codehaus.groovy.grails.cli.fork.testing.ForkedGrailsTestRunner.main(ForkedGrailsTestRunner.groovy:75) 
Caused by: java.lang.ClassNotFoundException: org.jetbrains.groovy.grails.rt.GrailsIdeaTestListener 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648) 
    at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758) 
    at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746) 
    at org.codehaus.groovy.grails.cli.support.GrailsBuildEventListener.addGrailsBuildListener(GrailsBuildEventListener.java:255) 
    ... 7 more 
| Error Error running forked test-app: Could not load grails build listener class 
| Error Forked Grails VM exited with error 

내 BuildConfig.groovy는 다음과 같다 :

grails.servlet.version = "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.work.dir = "target/work" 
grails.project.target.level = 1.6 
grails.project.source.level = 1.6 

grails.project.fork = [ 
    test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true], 
    run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false], 
    war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false], 
    console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256] 
] 

grails.project.dependency.resolver = "maven" // or ivy 

grails.project.dependency.resolution = { 
    // inherit Grails' default dependencies 
    inherits("global") { 
     // specify dependency exclusions here; for example, uncomment this to disable ehcache: 
     // excludes 'ehcache' 
    } 
    log "error" 
    checksums true 
    legacyResolve false 

    repositories { 
     inherits true // Whether to inherit repository definitions from plugins 

     grailsPlugins() 
     grailsHome() 
     mavenLocal() 
     grailsCentral() 
     mavenCentral() 
    } 

    dependencies { 
     runtime 'mysql:mysql-connector-java:5.1.24' 
    } 

    plugins { 
     build ":tomcat:7.0.42" 

     compile ":scaffolding:2.0.1" 
     compile ':cache:1.1.1' 

     runtime ":hibernate:3.6.10.2" // or ":hibernate4:4.1.11.2" 
     runtime ":jquery:1.10.2" 
     runtime ":resources:1.2.1" 
    } 
} 

문제점은 무엇입니까?

+0

포크 형 JVM 없이도 사용해 보셨습니까? – dmahapatro

+1

네, "unforked"잘 작동하지만, 나는 또한 분기 모드를 사용하고 싶습니다. – Thermech

+0

이것에 대한 모든 업데이트가 필요합니까? 해결책이 발견 되었습니까? – cdeszaq

답변

8

현재 IntelliJ에서 새로운 Grails 포크 테스트 기능을 사용하려면 find the grails-rt.jar file under your IntelliJ installation directory이 필요하고이를 grails 프로젝트 lib 디렉토리에 복사하거나 클래스 경로를 통해 grails 애플리케이션에서 사용할 수있게하십시오. 내 경우

은 맥 OS X에, Grails의-의 rt.jar 파일에 위치했다 :

/Applications/IntelliJ\ IDEA\ 13.app/plugins/Grails/lib/grails-rt.jar 

나는 ~/MyGrailsApp/lib이 파일을 복사.

+0

에 문제가있다. 가능한 한 빨리이 문제를 해결해 보겠다. 나는 당신에게 의견을 줄 것이다;) – Thermech

+0

이것은 나를 위해 일했지만 JIRA 티켓이나 intellij에 대한 버그 보고서에서 제기되어야하는 것처럼 보인다. – anataliocs

+1

http://youtrack.jetbrains.com/issue/IDEA-115855 및 http://youtrack.jetbrains.com/issue/IDEA-115097 –