首页 > 解决方案 > 将具有 jar 依赖关系的模块打包到存档 jar 时出现 NoClassDefFoundError

问题描述

我正在尝试创建一个实用程序 jar,将来可以将其添加到我的其他项目中,以节省一些时间,同时一遍又一遍地做许多相同的事情。

这是我的项目结构:

com.joul
--src
----some.package
------ClassImportingJOML.java
--module-info.java
---> requires org.joml;

exampleProject
--lib
----joul.jar

--src
----main
------Main.java
-------->ClassImportingJOML c = new ClassImportingJOML();

我偶然发现了模块并创建了自己的模块。我使用该org.joml模块并将其标记为我的module-info.java文件中的依赖项。但是,当我将此模块打包到存档罐中并将其添加到另一个项目的模块路径并运行代码时;我遇到了同样的错误:NoClassDefFoundErrorClassNotFoundException.

这只发生在我实例化一个导入该模块的类时。异常在该类中引发,而不是在其他地方。如果有人知道如何创建一个exampleProject不需要将 org.joml 添加到其依赖项的 jar,请告诉我,谢谢!

标签: javajardependenciesnoclassdeffounderror

解决方案


推荐阅读