現在取り組んでいるゲームにMavenを使用してJavaプロジェクトをビルドしようとしています。
他のユーザーによる最近のリポジトリへのプッシュにより、ビルドが壊れましたが、他のユーザーは壊れていません。
最近のビルドではPom.xmlは変更されておらず、私のJava環境は一貫性が保たれています。
Ubuntu 18.04 LTSディストリビューションでJava 8 OpenJDK(1.8.0_211))を使用しています。
Mavenリポジトリーは正常にコンパイルできますが、所定の(mvn integration-test -Pdesktop)ビルドを使用してコードを実行しようとすると、ビルド成功、いくつかのエラーが発生し、アプリケーションが起動しません。
Linuxフォーラムを調べましたが、同様のケースを見つけることができませんでした。
通常のMavenデバッグオプションは、私が認識している問題の初期兆候を提供していません。
debugging ld、 "Inconsistency detected by ld.so" を含むいくつかのスタックオーバーフローの質問を確認しましたが、提案されたコメントのコメントからどこを開始すればよいか、これが私のケースで実行可能かどうかわかりません。
Javaエラーコード127を確認しました。これは、リソースがCLASSPATHで見つからないことを示唆しています。これは正しいですか。また、成功していると思われるもので欠落しているリソースを特定するにはどうすればよいですか。ビルド?
エラーは以下のとおりです。
[Java] Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
[Java] Java Result: 127
成功した場合、ビルドが成功を報告し、ゲームを起動することを期待しています。失敗すると、ビルドが失敗を報告することを期待していましたが、代わりに、LibGDXアプリケーションを起動せずにビルドが成功しました。
ビルドは現在、他のプラットフォームのユーザーに対して実行されています。
OpenJDK 8へのダウングレード
Xubuntu 18.04とEclipse 2018-12(4.10.0)でも同じ問題が発生しました。正常に動作していましたが、おそらくシステム(またはOpenJDK)の更新により、この問題が発生しました。さらに、GradleタスクはGradleウィンドウに表示されませんでした。
パッケージを削除する問題を解決しました:default-jre、default-jdk、default-jre-headless、default-jdk-headless、それらはすべてopenjdk-11を「ポイント」しています。
次に、openjdk-8-jre、openjdk-8-jdk、openjdk-8-jre-headless、openjdk-8-jdk-headlessのパッケージをインストールしました。
VmセクションのEclipse.iniを次のように変更しました:-vm/usr/lib/jvm/Java-8-openjdk-AMD64/bin
そして今、すべてが正常に機能しており、Gradleタスクが再び表示されています。明確にするために、私はLibGDXも使用しています。