如何在 Java 11 中将 jar 添加到引导类路径 [英] How to add a jar to the boot classpath in java 11
问题描述
在我在 Java 8 上运行的应用程序中,我使用了使用 org.jboss.logmanager.LogManager 的第三方库所以我在引导类路径中添加了这个 jar 并且它工作正常.但是当迁移到 java 11 时,-Xbootclasspath/a 或 -Xbootclasspath/p 都不起作用,我无法启动我的应用程序.
In my application which is running on Java 8 I used third party library which is using org.jboss.logmanager.LogManager So I added this jar in bootclass path and it works fine. But when migrate to java 11 either -Xbootclasspath/a or -Xbootclasspath/p is not working and I can not start my application.
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Xbootclasspath/a:D:/wildfly-10.1.0.Final/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.0.4.Final.jar
我发现如何添加java 9 中引导类路径的 jar 答案.但它不适用于 java 10 或 11.有人可以帮我吗?
I found How to add a jar to the boot classpath in java 9 answer. But it is not working for java 10 or 11. Can anyone please help me?
推荐答案
我尝试了以下方法:
(1) 对我来说用 -Xbootclasspath/a
替换 -Xbootclasspath/p
- 没有用
(1) For me replacing -Xbootclasspath/p
with -Xbootclasspath/a
- Did not work
(2) 然后我尝试删除整行,因为其他人建议这样做 - 没有用-Djava.util.logging.manager=org.jboss.logmanager.LogManager -Xbootclasspath/p: <path_to_jboss_logmanager>/jboss-logmanager-
(2) Then I tried to remove the whole line as this has been suggested by others - Did not work-Djava.util.logging.manager=org.jboss.logmanager.LogManager -Xbootclasspath/p: <path_to_jboss_logmanager>/jboss-logmanager-<version>.jar
(3) 然后我也从 -Djboss.modules.system.pkgs=
org.jboss.logmanager"
然后就成功了!
(3) Then I also removed the logmanager from -Djboss.modules.system.pkgs=
org.jboss.logmanager"
and then it worked!
所以只有 2+3 的组合才最终奏效.
So only the combination of 2+3 finally worked.
这篇关于如何在 Java 11 中将 jar 添加到引导类路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!