[解決済み] Java 9 での Maven のコンパイルの問題
2023-05-07 02:18:54
質問
JDK 9.0.1 を使用して Maven プロジェクトをコンパイルしようとすると、あまり説明のないこのスタックトレースに直面します。
Exception in thread "main" java.lang.AssertionError
at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)
at jdk.compiler/com.sun.tools.javac.util.Assert.check(Assert.java:46)
at jdk.compiler/com.sun.tools.javac.comp.Modules.enter(Modules.java:250)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.readSourceFile(JavaCompiler.java:821)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$ImplicitCompleter.complete(JavacProcessingEnvironment.java:1510)
at jdk.compiler/com.sun.tools.javac.code.Symbol.complete(Symbol.java:633)
at jdk.compiler/com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1314)
at jdk.compiler/com.sun.tools.javac.code.Type$ClassType.complete(Type.java:1139)
at jdk.compiler/com.sun.tools.javac.code.Type$ClassType.getTypeArguments(Type.java:1065)
at jdk.compiler/com.sun.tools.javac.code.Printer.visitClassType(Printer.java:237)
at jdk.compiler/com.sun.tools.javac.code.Printer.visitClassType(Printer.java:52)
at jdk.compiler/com.sun.tools.javac.code.Type$ClassType.accept(Type.java:992)
at jdk.compiler/com.sun.tools.javac.code.Printer.visit(Printer.java:136)
at jdk.compiler/com.sun.tools.javac.util.AbstractDiagnosticFormatter.formatArgument(AbstractDiagnosticFormatter.java:197)
at jdk.compiler/com.sun.tools.javac.util.AbstractDiagnosticFormatter.formatArguments(AbstractDiagnosticFormatter.java:165)
at jdk.compiler/com.sun.tools.javac.util.BasicDiagnosticFormatter.formatMessage(BasicDiagnosticFormatter.java:111)
at jdk.compiler/com.sun.tools.javac.util.BasicDiagnosticFormatter.formatMessage(BasicDiagnosticFormatter.java:67)
at jdk.compiler/com.sun.tools.javac.util.AbstractDiagnosticFormatter.formatArgument(AbstractDiagnosticFormatter.java:183)
at jdk.compiler/com.sun.tools.javac.util.AbstractDiagnosticFormatter.formatArguments(AbstractDiagnosticFormatter.java:165)
at jdk.compiler/com.sun.tools.javac.util.BasicDiagnosticFormatter.formatMessage(BasicDiagnosticFormatter.java:111)
at jdk.compiler/com.sun.tools.javac.util.BasicDiagnosticFormatter.formatMessage(BasicDiagnosticFormatter.java:67)
at jdk.compiler/com.sun.tools.javac.util.JCDiagnostic.getMessage(JCDiagnostic.java:771)
at jdk.compiler/com.sun.tools.javac.api.ClientCodeWrapper$DiagnosticSourceUnwrapper.getMessage(ClientCodeWrapper.java:799)
at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:131)
at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:174)
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1075)
at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:168)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
何が原因かよくわからないのですが、JDKのバグなのでしょうか?
追加の詳細 :
- Maven 3.5.0 と maven-compiler-plugin 3.7.0 の組み合わせ。
- mvn clean install を実行しているところです。
- ソースコードは残念ながらオープンソースではないので、自由に共有することはできませんが
- module-info.java ファイルはまだありません。Java 9 を使用してプロジェクトをコンパイルしようとしているだけです。
- 不思議なことに、ソース レベルを 1.8 のままにしておくと、コードはコンパイルされますが、9 と指定すると上記の例外が発生し、失敗します。
どのように解決するのですか?
これを追加するだけです。
<forceJavacCompilerUse>true</forceJavacCompilerUse>
をPOMのmaven compiler build pluginに追加すると、すべてのjavacのエラーが表示されます! 詳細なソース
関連
-
[解決済み】Java 8でJavadocタグが不完全な場合、Mavenは動作しません。
-
[解決済み] install:install-fileで追加したjarファイルをローカルのmavenリポジトリから削除する方法は?
-
[解決済み] プラグインの実行がライフサイクル設定に含まれない(JBossas 7 EAR archetype)
-
[解決済み] Mavenの "リアクター "とは何ですか?
-
[解決済み] Mavenからのコマンドライン引数をpom.xmlのプロパティとして渡す
-
[解決済み] repository tag under distributionManagement vs repositories?
-
[解決済み] GradleプロジェクトのmavenアーティファクトIDはどのように設定しますか?
-
[解決済み] コマンドラインでmavenのプロパティをオーバーライドするには?
-
[解決済み] Intellij 14でMavenプロジェクトのウィンドウを表示する方法|アップデート:Mavenプロジェクトで右側の「タブバー」が表示されない
-
[解決済み] mavenプロジェクトをバージョンなしでビルドするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Mavenの冗長性を減らすことはできますか?
-
[解決済み] Maven : "runtime "スコープは何のためにあるのですか?重複
-
[解決済み] Maven スナップショットリポジトリとリリースリポジトリの比較
-
[解決済み] repository tag under distributionManagement vs repositories?
-
[解決済み] GradleプロジェクトのmavenアーティファクトIDはどのように設定しますか?
-
[解決済み] なぜpom.xmlのmodelVersionは必要で、常に4.0.0に設定されるのですか?
-
[解決済み] Intellij 14でMavenプロジェクトのウィンドウを表示する方法|アップデート:Mavenプロジェクトで右側の「タブバー」が表示されない
-
[解決済み] mavenの依存関係のタイプ "bundle "の意味は何ですか?
-
[解決済み] MavenのOut of Memoryビルドの失敗
-
[解決済み] Maven pomのparentタグは何を表しますか?