我想在Java 6中使用JSR166工具。所以我已经下载了jar。
我想让这个过程(相对)无痛。我很困惑地发现将它添加到Mac的JDK / JRE(或/ Library / Java / extensions)中的ext目录中不起作用。
只有-Xbootclasspath才能解决问题。
这是为什么? exts是以某种方式更狭义地定义的吗?
答案 0 :(得分:1)
将JAR安装到扩展目录中使它们可以通过-Xbootclasspath
选项使用它们。在加载顺序方面,你有这个:
-Xbootclasspath
命令覆盖
行选项。CLASSPATH
环境变量,但可以被覆盖
标准-cp
命令行选项。在bootstrap类路径中找到的任何类或作为扩展名加载的类应立即可用于您的程序。
您可以在Mac上轻松验证。编译以下内容:
public class Test {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
在命令控制台中:
javac Test.java
jar cvf test.jar Test.class
cp test.jar /Library/Java/Extensions
rm Test.class test.jar
java Test
当然,结果将'Hello World'
打印到您的控制台。
检查以确保从JAR调用正确的类,并确保它实际放在右侧扩展文件夹中。