我创建了一个包含一些包的.jar,我试图把它放到
中c:\jdk\jre\lib\ext
但java commnand找不到包
如果我将.jar放入
c:\jre\lib\ext
一切正常!
为什么呢? SUN的教程说这两个地方都很好!
我看到扩展机制仅适用于VM,但不适用于编译过程 如果我想使用外部包,我必须使用-cp标志
进行编译这是对的吗?
答案 0 :(得分:1)
JRE只使用自己的lib/ext
目录。因此,您需要将jar放入您希望库使用的每个JRE的lib/ext
目录中。使用lib/ext
通常是一个坏主意。
我相信要让它与您的编译器一起使用,您需要将广告投放在c:\jdk\lib\ext
,而不是c:\jdk\jre\lib\ext
。
答案 1 :(得分:1)
如果我要按字面意思取两个位置(即没有拼写错误);更可能的情况是你的JAVA_HOME没有指向JDK里面的JRE(c:\ jdk \ jre);而是在JDK之外的某个地方使用JRE(c:\ jre)。
如上所述,您确实需要将库放在您想要实际使用的每个JRE中。 (尝试安装Java3D并观察会发生什么)。