2012-10-01 4 views
9

Google을 검색하여 StackOverflow에서 답변을 검토했지만이 문제를 해결할 수 없습니다. 최근에이 프로젝트에 참여하여 POM에 몇 가지 사항을 추가했습니다. 메이븐 (Maven)과 친분이있는 신생아이기 때문에 나는이 문제를 파악하지 않고 있으며 내가 본 응답은 분명히 밝혀지지 않았다. 프로젝트에 Groovy가 추가 된 것 같습니다. 나는 그루비를 사용하여 & 스팍 (Spock)을 테스트하고 싶다.CompilerMojo # execute()가 연결 오류 (java.lang.NoSuchMethodError)를 일으켰으며 오래된 것일 수 있습니다.

[INFO] Using Groovy-Eclipse compiler to compile both Java and Groovy files 
[FATAL ERROR] org.apache.maven.plugin.CompilerMojo#execute() caused a linkage error (java.lang.NoSuchMethodError) and may be out-of-date. Check the realms: 
[FATAL ERROR] Plugin realm = app0.child-container[org.apache.maven.plugins:maven-compiler-plugin:2.0.2] 
urls[0] = file:/C:/Users/bill.turner/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.0.2/maven-compiler-plugin-2.0.2.jar 
urls[1] = file:/C:/Users/bill.turner/.m2/repository/org/codehaus/groovy/groovy-eclipse-compiler/2.7.0-01/groovy-eclipse-compiler-2.7.0-01.jar 
urls[2] = file:/C:/Users/bill.turner/.m2/repository/org/codehaus/groovy/groovy-eclipse-batch/2.0.4-02/groovy-eclipse-batch-2.0.4-02.jar 
urls[3] = file:/C:/Users/bill.turner/.m2/repository/org/codehaus/plexus/plexus-compiler-api/1.5.3/plexus-compiler-api-1.5.3.jar 
urls[4] = file:/C:/Users/bill.turner/.m2/repository/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar 
urls[5] = file:/C:/Users/bill.turner/.m2/repository/org/codehaus/plexus/plexus-compiler-manager/1.5.3/plexus-compiler-manager-1.5.3.jar 
urls[6] = file:/C:/Users/bill.turner/.m2/repository/org/codehaus/plexus/plexus-compiler-javac/1.5.3/plexus-compiler-javac-1.5.3.jar 
[FATAL ERROR] Container realm = plexus.core 
urls[0] = file:/C:/Users/bill.turner/apache-maven-2.2.1/lib/maven-2.2.1-uber.jar 
[INFO] ------------------------------------------------------------------------ 
[ERROR] FATAL ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] org.codehaus.plexus.compiler.CompilerConfiguration.getDebugLevel()Ljava/lang/String; 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
java.lang.NoSuchMethodError: org.codehaus.plexus.compiler.CompilerConfiguration.getDebugLevel()Ljava/lang/String; 
    at org.codehaus.groovy.eclipse.compiler.GroovyEclipseCompiler.createCommandLine(GroovyEclipseCompiler.java:343) 
    at org.codehaus.groovy.eclipse.compiler.GroovyEclipseCompiler.compile(GroovyEclipseCompiler.java:218) 
    at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:493) 
    at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114) 
    at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 
    at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 

답변

10

내 대답을 찾았습니다. maven-compiler-plugin에 버전을 추가해야했습니다. 이 문제로 어려움을 겪고있는 다른 사람들을 위해 내 자신의 질문에 답하십시오. 단서는 내가 같은 문제에 직면 한 http://jira.codehaus.org/browse/MSITE-233

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <!-- added version here --> 
    <version>2.5.1</version> 
    <configuration> 
     <source>1.6</source> 
     <target>1.6</target> 
     <compilerId>groovy-eclipse-compiler</compilerId> 
    </configuration> 
    <dependencies> 
     <dependency> 
     <groupId>org.codehaus.groovy</groupId> 
     <artifactId>groovy-eclipse-compiler</artifactId> 
     <version>2.7.0-01</version> 
    </dependency> 
     <dependency> 
      <groupId>org.codehaus.groovy</groupId> 
      <artifactId>groovy-eclipse-batch</artifactId> 
      <version>1.8.6-01</version> 
     </dependency> 
    </dependencies> 
</plugin> 
1

했지만, 나중에 내가 아주 간단한 해결책을 찾아 냈다.

1 단계 - http://maven.apache.org/download.cgi에서 다운로드 욕망 받는다는 폴더 (내가 메이븐 2.2.1 (바이너리 tar.gz의) 다운로드 한)

2 단계 -. 타르를 추출하고 (당신의 욕망 위치에 폴더를 넣어 예는/usr/lib 디렉토리 /)

STEP3 - 그것의 .bashrc)

기본적으로 문제는 당신 받는다는가 손상하고 당신이 그것을 해결하기 위해 위의 단계를 수행해야 내 경우에 당신이 그것을 사용했다 받는다는의 경로를 (업데이트합니다. :)