java扩展机制

java扩展机制,java,classpath,Java,Classpath,我创建了一个包含一些包的.jar,并尝试将其放入 c:\jdk\jre\lib\ext 但是java命令找不到包 如果我将.jar放入 c:\jre\lib\ext 一切都好 为什么??太阳报的教程说这两个位置都很好 我看到扩展机制只适用于VM,而不适用于编译过程 对于编译,如果我想使用外部包,我必须使用-cp标志编译 正确吗?JRE只使用自己的lib/ext目录。因此,您需要将jar放入希望库使用的每个JRE的lib/ext目录中。使用lib/ext通常是个坏主意 我相信要让它与您的编译器

我创建了一个包含一些包的.jar,并尝试将其放入

c:\jdk\jre\lib\ext
但是java命令找不到包

如果我将.jar放入

c:\jre\lib\ext
一切都好

为什么??太阳报的教程说这两个位置都很好

我看到扩展机制只适用于VM,而不适用于编译过程 对于编译,如果我想使用外部包,我必须使用-cp标志编译


正确吗?

JRE只使用自己的
lib/ext
目录。因此,您需要将jar放入希望库使用的每个JRE的
lib/ext
目录中。使用
lib/ext
通常是个坏主意


我相信要让它与您的编译器一起工作,您需要将JAR放在
c:\jdk\lib\ext
中,而不是
c:\jdk\jre\lib\ext

中,如果我要按字面意思理解您的两个位置(即无打字错误);更可能的情况是,JAVA_主页没有指向JDK中的JRE(c:\JDK\JRE);而是到JDK之外的某个JRE(c:\JRE)

正如上面提到的,您实际上也需要将库放在您想要实际使用的每个JRE中。(找个时间试着安装Java3D,看看会发生什么。)

看看目录是jdk\jre\lib\ext,而不是像你说的c:\jdk\lib\ext