设置新的Java11项目。获得了一些自定义的日志记录模块(com.test.mod.logging)(使用log4j.core 2.11.2)和一个应用程序模块(com.test.mod.app)。
现在正在运行模块java -p lib -m com.test.mod.app/com.test.mod.app.App
,但由于java.lang.module.FindException: Module org.apache.logging.log4j not found, required by com.test.mod.logging
失败,到目前为止,需要依赖项并将它们通过mvn assembly:single
提供给我的日志记录模块。
没有改变。好的,module-info表示只有我的日志记录模块-但是我真的需要为所有第三方依赖项提供jar吗?
提供的log4j-core-2.11.2.jar-得到java.lang.module.ResolutionException: Module com.test.mod.logging contains package org.apache.logging.log4j.core.appender.db.jdbc, module org.apache.logging.log4j.core exports package org.apache.logging.log4j.core.appender.db.jdbc to com.test.mod.logging
,并且在日志记录模块内部没有依赖项,一切运行顺利
module com.test.mod.logging {
requires transitive org.apache.logging.log4j;
exports com.test.mod.logging;
}
module com.test.mod.app {
requires com.test.mod.logging;
}