javac找不到已安装在jre / lib / ext中的jar文件

时间:2011-06-24 18:00:30

标签: java eclipse classpath java-3d

我想试用Java3D库并使用安装程序为我自动安装它们(我正在运行Windows)。我正在使用Elipse并注意到它无法找到包裹。我尝试从命令行编译Eclipse之外的类,并在那里遇到同样的问题。

安装程序肯定将jar文件放在我的java-sdk / jre / lib / ext文件夹中,所以我不确定为什么它不会自动检测它们,因为我认为这个文件夹是自动搜索的。

然后我通过设置CLASSPATH环境变量手动将jar添加到类路径中,然后Eclipse外的程序工作。 Eclipse仍然无法找到它们,因此我将jar添加到我的Eclipse项目中并且它可以工作。

我真正想知道的是为什么我必须在jre / lib / ext文件夹中安装jar时设置CLASSPATH环境变量。

其他信息是我注意到我的环境变量中没有JAVA_HOME变量。应该有吗?这可能是问题所在。

另外,为了兴趣(和学习),我在Java安装中注意到Java-SDK-1.6.xxx文件夹中有一个JRE文件夹,另一个文件夹与Java-SDK-1.6在同一目录中。 xxx文件夹。这是为什么?

非常感谢。

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:1)

没有JAVA_HOME环境变量,java Extensions类加载器无法找到jre/lib/ext dir的路径。因为,默认情况下,扩展类加载器会加载<JAVA_HOME>/lib/ext

中的代码

有关详细信息,请参阅Java Classloader