私は 10 年間 Java を開発しておらず、Java 8 の機能で書かれたプラグイン プロジェクトをすばやくコンパイルする必要がありました。最新の JDK (AdoptOpenJDK 16)をダウンロードし、MacOS 開発マシンにインストールしました。
プロジェクトの POM ファイルを見ると、次の 2 つの設定が見つかりました。
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
これらの設定により、コードが Java 8 機能を使用して記述され、コンパイルされたクラスが 1.8 JVM と互換性を持つ必要があることがコンパイラーに通知されることを確認してください。
開発者の指示に従いましたが、エラーが発生しました:
最初のビルド時に、次のエラーによりビルドが停止します。
[ERROR] import: Entry[import from realm ClassRealm[project>org.github.flytreeleft:nexus3-keycloak-plugin:0.5.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : begin 0, end 3, length 2
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
同様の人々が他のプロジェクトで同じ問題に遭遇しました。最終的に、Maven Enforcerをスキップしてこのエラーを回避するよう提案された回避策を使用しました。
再構築すると、プロジェクトが失敗し、さまざまなファイルで約 90 のコンパイル エラーが発生します。メッセージは次のようになります。
String cannot be resolved to a type
これにより、同様のエラーが発生したこのSOの質問にたどり着きました...しかし、良い答えはありませんでした。
このプロジェクトをビルドするにはどうすればよいですか?