在运行在java 8上的应用程序中,我使用-bootclasspath:p
向引导类路径添加一个jar。在java 9中,该选项将被删除。在java 9中做同样的选择是什么?
发布于 2018-01-08 10:59:22
您可以使用-Xbootclasspath/a
。请参阅发布说明,其中规定:-
在此版本中,引导类路径大部分已被删除。java
-Xbootclasspath
和-Xbootclasspath/p
选项已被删除。javac -bootclaspath
选项只能在编译到JDK 8或更高版本时使用。系统属性sun.boot.class.path
已被删除。 在使用-Xbootclasspath/p
进行测试时,依赖于覆盖平台类的部署需要更改,以使用9月261中记录的--patch-module
选项。-Xbootclasspath/a
选项不变。
发布于 2022-01-03 10:26:41
-bootclasspath:p
将类从jar添加到默认引导类路径的开头(预置)。JVM 9或更高版本不再支持它。
-bootclasspath:a
将类从jar添加到默认引导类路径的末尾(附加)。JVM 9或更高版本支持此选项。01/JRCLR/optionx.htm#i 1021218
在我的例子中,当我按照这个顺序声明变量时:
JAVA_OPTS="$SOME_OPT“ JAVA_OPTS=“-javaagent:./agent.jar-Xbootclasspath/a:./agent-boot.jar $JAVA_OPTS”
我抓住classNotFoundException了。当我倒序时:
JAVA_OPTS=“-javaagent:./agent.jar-Xbootclasspath/a:./agent-boot.jar $JAVA_OPTS” JAVA_OPTS="$SOME_OPT“
ClassNotFound异常消失。
https://stackoverflow.com/questions/48148607
复制相似问题