编程语言
首页 > 编程语言> > 如何解决“检测到不一致:dl-lookup.c:111”(Java结果127)错误?

如何解决“检测到不一致:dl-lookup.c:111”(Java结果127)错误?

作者:互联网

我目前正在尝试使用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问题,包括
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

我在带有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.

标签:maven,ubuntu-18-04,linux,java
来源: https://codeday.me/bug/20191210/2104952.html