2012-03-19 30 views
1

mvn clean compileのようなHudsonジョブを起動すると、次のエラーが発生します。コンパイルエラー:javacを実行できませんでしたが、エラーを解析できませんでした

[INFO] Compiling 1541 source files to /users/applis/33g/ad33gwas/.hudson/jobs/sonar facade-commande/workspace/facade-commande/target/classes 
[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] Failure executing javac, but could not parse the error: 
An exception has occurred in the compiler (1.5.0_12). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. 
java.lang.AssertionError 

この問題の理由はありますか?

+0

インストールされているJavaバージョン? – Viruzzo

+0

JAVA_HOMEを表示 – Ilya

+1

完全デバッグログを有効にしてMavenを起動してください( 'mvn -e -X clean compile')。次に、取得した情報で質問を更新します。 – sleske

答えて

0

私はこの問題を何度か持ちました。私の場合、Mavenは後でいくつかの間違ったエラーで失敗していたので、あなたはすでにコンパイラがエラーを報告していることは幸運です。

最終的に、私は、コンパイラがいくつかの複雑な型付け(<A extends MyObject<A1,A2>, A1 extends MyObject2<A2>, A2 extends MyObject3>のようなもの)をうまく処理していないことを知りました。 JVMを更新することで問題は解決するかもしれませんが、コードが進化するにつれてもう一度遭遇する可能性があります。このようなエラーはJDK-7では消えてしまったようですが、わかりません。

とにかく、あなたのコード(タイコのような)に別のコンパイラを使うのが一つの解決策です。あなたのpom.xml(build - > pluginsまたはbuild - > pluginManagement - >プラグイン):

  <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>${compiler.source}</source> 
        <target>${compiler.target}</target> 
        <encoding>${source.encoding}</encoding> 
        <fork>false</fork> 
        <compilerId>jdt</compilerId> 
       </configuration> 
       <dependencies> 
        <dependency> 
         <groupId>org.eclipse.tycho</groupId> 
         <artifactId>tycho-compiler-jdt</artifactId> 
         <version>0.13.0</version> 
        </dependency> 
       </dependencies> 
      </plugin> 

あなたは上記のEclipseとM2E 1.0以上を使用している場合は、エラーになりますが、あなたは、ビルドに(あなたのpom.xmlに以下のスニペットを追加することによって、それを取り除くことができます - >プラグイン管理 - >プラグイン):

  <plugin> 
       <groupId>org.eclipse.m2e</groupId> 
       <artifactId>lifecycle-mapping</artifactId> 
       <version>1.0.0</version> 
       <configuration> 
        <lifecycleMappingMetadata> 
         <pluginExecutions> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId>org.apache.maven.plugins</groupId> 
            <artifactId>maven-compiler-plugin</artifactId> 
            <versionRange>[2.0,)</versionRange> 
            <goals> 
             <goal>compile</goal> 
             <goal>testCompile</goal> 
            </goals> 
            <parameters> 
             <compilerId>jdt</compilerId> 
            </parameters> 
           </pluginExecutionFilter> 
           <action> 
            <configurator> 
             <id>org.eclipse.m2e.jdt.javaConfigurator</id> 
            </configurator> 
           </action> 
          </pluginExecution> 
         </pluginExecutions> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 

問題はm2e開発者に報告されましたが、ちょっとこれを優先事項と見なさないでください。あなたはそれを生きなければなりません。

4

あなたはコンパイラのバグに遭遇しました。どのバグであるのかははっきりしていませんが、JDKのそれ以降のバージョンにアップグレードすることで修正される可能性があります。

(Java 1.5.0_u12を実行しているようですが、それはかなり古くなっています)Java 1.5の最新の無料パッチリリースはjava 1.5.0_u22で、最近の1.5リリース(1.5.0._u34まで) Java for Businessサブスクリプションの人は、Java 1.6または1.7にアップグレードすることもできます)

+0

jdk 1.8_4Xを使用して1.8_51にアップグレードしましたが、このエラーが表示されます: 'javacを実行できませんでしたが、エラーを解析できませんでした: /bin/sh:c:/progra~1/java/jdk1.6.0_24/bin/javac:そのようなファイルやディレクトリはありません。 ' –

+0

@KevinMeredith - エラーメッセージを見てください。注意深くお読みください。なぜJDK 1.6のインストールについて話しているのですか?あなたのハドソンのconfigsの何かは、(私は推測している)古いJavaのインストールを参照している存在しなくなりました。何が起こっているのかを見つけ、95%が問題を解決しました。 –

関連する問題