0

次の組み合わせを実行しようとしています:

  • メイヴン (3.6.1)
  • OpenJDK 11
  • module-info.java を使用
Fails with the following error message:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project tourconex: Fatal error compiling: Fa
iled to run the ecj compiler: Unrecognized option : --module-version -> [Help 1]

空の compilerArgs ノードを追加しようとしましたが、役に立ちませんでした。

module-info.java を削除すると問題は解決しますが、それは私が望んでいることではありません。

また、ソースhttp://central.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/3.8.1/を見ました

特に CompilerMojo.java のソース:

module-version は常に追加されるため、これを抑制する方法はないようです:

compilerArgs.add( "--module-version" );
compilerArgs.add( getProject().getVersion() );

ecj のドキュメントを見ると、「module-version」引数がありません

https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-using_batch_compiler.htm

というわけで、今のところうまくいかないようです!?

Maven プラグイン セクション:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <compilerId>eclipse</compilerId>
        <source>11</source>
        <target>11</target>
        <release>11</release>
        <showWarnings>true</showWarnings>
        <showDeprecation>true</showDeprecation>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-compiler-eclipse</artifactId>
            <version>2.8.5</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt</groupId>
            <artifactId>ecj</artifactId>
            <version>3.17.0</version>
        </dependency>
    </dependencies>
</plugin>
4

2 に答える 2