开源改变世界!!

在 master 上最新的 UGS 源代码上使用 ugs-core.jar 构建依赖问题 #1584

推推 grbl 2年前 (2023-01-28) 189次浏览
关闭
lamikr 打开了这个问题 2021 年 4 月 20 日 · 0 条评论 · 由#1586修复
关闭

在 master 上最新的 UGS 源代码上使用 ugs-core.jar 构建依赖问题#1584

lamikr 打开了这个问题 2021 年 4 月 20 日 · 0 条评论 · 由#1586修复

注释

在 master 上最新的 UGS 源代码上使用 ugs-core.jar 构建依赖问题 #1584
贡献者

我尝试在控制台上使用 Maven 从 master 分支构建最新的 2.0.7-SNAPSHOT,在构建结束时,我看到加载一些包含在 ugs-core.jar 中的类时出错

INFO] ugs-platform-plugin-toolbox ………………… 成功 [ 1.803 s]
[INFO] ugs-platform-plugin-dro .. ………………. 成功 [ 3.084 s]
[信息] ugs-platform-app ………………… ………失败 [11.862 秒]

它是由以下类型的错误引起的。
错误] 运行 2:ApplicationTest.testApplication NbModuleSuite 已启动并带有 failOnMessage(WARNING) 和 failOnException(INFO)。已捕获以下故障:
[org.netbeans.ProxyClassLoader] THREAD:main MSG:不会从 ModuleCL@0[com.willwinder.ugs.platform. ugslib] 和 ModuleCL@1[com.willwinder.ugs.platform.plugin.joystick] 从 SystemClassLoader[133 个模块] 开始;请参阅http://wiki.netbeans.org/DevFaqModuleCCE
[org.openide.filesystems] 线程:主要 MSG:null
java.io.IOException
org.openide.filesystems.XMLMapAttr$Attr.decodeValue(XMLMapAttr.java:865)
org.openide.filesystems.XMLMapAttr$Attr.getObject(XMLMapAttr.java:944)
org.openide.filesystems.XMLMapAttr$Attr.get(XMLMapAttr.java:661)
org.openide.filesystems.XMLMapAttr.getAttribute(XMLMapAttr.java: 226)
org.openide.filesystems.XMLMapAttr.getAttribute(XMLMapAttr.java:191)

重现该行为的步骤:

  1. git 克隆https://github.com/winder/Universal-G-Code-Sender.git
  2. mvn -X 安装
  3. 然后错误发生在构建结束时
  4. 预期行为
    Build 将正常运行而不会出现错误。

我在 Linux 上构建的版本
,我的 java 版本是
openjdk 版本“11.0.10-ea” 2021-01-19 LTS
OpenJDK 运行时环境 18.9(构建 11.0.10-ea+1-LTS)
OpenJDK 64 位服务器 VM 18.9 (构建11.0.10-ea+1-LTS,混合模式,分享)

附加上下文
然而,我能够启动 ugs-platform,但随后我看到
ugs-core.jar 中的其他一些 java 类发生了类似类型的 clasload 错误

mvn nbm:run-platform -pl ugs-platform/application
[INFO] java.lang.ClassNotFoundException: 不会从 ModuleCL@56b4fe27[com.willwinder.ugs.platform] 之一中任意加载类 com.willwinder.universalgcodesender.model.Overrides .ugslib] 和 ModuleCL@87f0654[com.willwinder.ugs.platform.plugin.joystick] 从 SystemClassLoader[133 个模块] 开始;请参阅http://wiki.netbeans.org/DevFaqModuleCCE
[INFO] at org.netbeans.ProxyClassLoader.doFindClass(ProxyClassLoader.java:191)
[INFO] at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:125)
[INFO ] 在 org.netbeans.ModuleManager$SystemClassLoader.loadClass(ModuleManager.java:769)
[信息] 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
[信息] 在 java.base/java.lang.Class.forName0(本机方法)
[信息] 在 java.base/java.lang.Class.forName(Class.java:398)

我怀疑问题的发生是因为 UGS 平台模块 com.willwinder.ugs.platform.plugin.joystick 和 com.willwinder.ugs.platform.ugslib 也相互依赖,正在向它们自己添加相同的 ugs-core.jar依赖项,现在这会导致某种 java 类加载器版本不匹配错误。

lamikr 将提交推送到引用此问题的 lamikr/Universal-G-Code-Sender 2021 年 4 月 27 日

喜欢 (0)