之前我这样做过:
CLASSPATH = “:/家庭/ phoenies / jdk1.6.0_17 / LIB /的tools.jar:/home/phoenies/jdk1.6.0_17/lib/dt.jar”
但今天一篇文章说我应该这样做:
CLASSPATH = “:/家庭/ phoenies / jdk1.6.0_17 / lib中”
如果我这样做,它会搜索lib中的所有jar文件吗?所以这可能是一个较短的方式?
答案 0 :(得分:13)
由于您使用的是JDK6,因此可以使用classpath通配符:CLASSPATH =“。:/ home / phoenies / jdk1.6.0_17 / lib / *”将匹配lib /
中的所有JARS查看http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html,其中有一节名为“了解类路径通配符”
答案 1 :(得分:2)
我认为除了最简单的“Hello,World”教程外,拥有CLASSPATH环境变量是错误的。
正确的方法是在编译和运行时为每个项目设置CLASSPATH。每个项目都可能有所不同,所以这很有道理。
IDE忽略CLASSPATH环境设置;所有Java EE应用服务器也是如此。它是Java 1.0的遗留物。我没有在我工作的任何机器上设置CLASSPATH。
学习为命令行编写脚本。或者使用Ant。你会很高兴的。
答案 2 :(得分:1)
是的,如果你是第二种方式,它将搜索lib中的所有jar文件。将类路径设置为与第一个类似的具体设置是很奇怪的。我想在服务器上你想要确定装载的罐子是什么,这可能是限制它们的一种方法,但如果你有几个罐子,你可能会遇到多长时间的问题。
答案 3 :(得分:0)
Jar文件需要在Classpath变量中按名称指定。需要注意的一点是,命令行-classpath
param比环境变量更通用,因为它允许您为每个应用程序设置类路径。
答案 4 :(得分:0)
在Java 1.6+中,您可以将类路径设置为后跟/ *的目录,以加载该目录中的所有JAR文件。不仅仅是目录名称 - 用于加载该目录和子目录中的类文件。