Jac*_*ack 7 java linux maven ubuntu-18.04
我目前正在尝试使用Maven为我正在开发的游戏构建Java项目。
另一个用户最近推送到我们的存储库已破坏了我的构建,但对其他用户而言则不行。
在最近的构建中,未对Pom.xml进行任何更改,并且我的Java环境保持一致。
我在Ubuntu 18.04 LTS发行版上使用Java 8 OpenJDK(1.8.0_211)。
Maven存储库能够成功编译,但是当我尝试使用预定的(mvn Integration-test -Pdesktop)构建执行代码时,会收到“构建成功”,一些错误并且没有启动应用程序。
我看过Linux论坛,但是找不到类似的案例。
普通的Maven调试选项尚未提供我认识到的问题的任何初始指示。
我已经看过几个Stack Overflow问题,包括 调试ld,“ 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
Run Code Online (Sandbox Code Playgroud)
成功后,我希望该版本能够报告成功并启动游戏。在失败时,我曾期望该构建报告一次失败,但是相反,我看到在没有启动LibGDX应用程序的情况下构建成功。
该构建当前正在为其他平台上的用户运行。
降级到OpenJDK 8
我在带有Eclipse 2018-12(4.10.0)的Xubuntu 18.04中遇到了相同的问题。它工作正常,但可能是系统中的某些更新(或专门针对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。
lwjgl到lwjgl3我在使用 OpenJDK 11 / Java 11 ( openjdk 11.0.10 2021-01-19) 时遇到了与您相同的问题。修复它的原因是切换到lwjgl3任何地方,顺便说一句,这也为我解决了其他一些问题!(退出应用程序时整个屏幕变黑,鼠标光标捕获仅部分工作等)
在build.gradle改变所述第一到所述第二块:
api "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)
api "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)
还要调整您的导入(例如在DesktopLauncher课堂上):
api "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)
api "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)
lwjgl3 应该几乎完全兼容,就我而言,我只需要更新配置:
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
Run Code Online (Sandbox Code Playgroud)
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
Run Code Online (Sandbox Code Playgroud)
openjdk-11为adopt-openjdk-11我在 Ubuntu 20.04 和 openjdk-11 上使用 libgdx 时也出现了这个问题。
经过更长时间的斗争,我尝试了另一个 JDK 供应商而不是 openjdk。这解决了我的问题。由于某种原因adopt-opendjk-11有效,而openjdk-11没有工作。
| 归档时间: |
|
| 查看次数: |
4275 次 |
| 最近记录: |