Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该如何设置类路径?_Java_Classpath - Fatal编程技术网

Java 我应该如何设置类路径?

Java 我应该如何设置类路径?,java,classpath,Java,Classpath,我曾经这样做过: CLASSPATH=“.:/home/phoenies/jdk1.6.0_17/lib/tools.jar:/home/phoenies/jdk1.6.0_17/lib/dt.jar” 但今天一篇文章说我应该这样做: CLASSPATH=“.:/home/phoenies/jdk1.6.0_17/lib” 如果我这样做,它会搜索lib中的所有jar文件吗?所以这可能是一种较短的方法?是的,如果您使用第二种方法,它将搜索lib中的所有jar文件。看到类路径被设置为与第一个路径一样

我曾经这样做过:

CLASSPATH=“.:/home/phoenies/jdk1.6.0_17/lib/tools.jar:/home/phoenies/jdk1.6.0_17/lib/dt.jar”

但今天一篇文章说我应该这样做:

CLASSPATH=“.:/home/phoenies/jdk1.6.0_17/lib”


如果我这样做,它会搜索lib中的所有jar文件吗?所以这可能是一种较短的方法?

是的,如果您使用第二种方法,它将搜索lib中的所有jar文件。看到类路径被设置为与第一个路径一样明确,这是非常奇怪的。我想,在一个服务器上,您希望确定加载了哪些JAR,这可能是限制它们的一种方法,但如果您有几个JAR,可能会遇到时间长短的问题。

因为您使用的是JDK6,所以可以使用类路径通配符:classpath=“。:/home/phoenies/jdk1.6.0_17/lib/*”将匹配lib中的所有JAR/


查看“理解类路径通配符”一节,Jar文件需要在Classpath变量中按名称指定。需要注意的一点是,命令行
-classpath
参数比环境变量更通用,因为它允许您为每个应用程序设置类路径。

在Java 1.6+中,您可以将类路径设置为一个目录,后跟/*以加载该目录中的所有JAR文件。但不仅仅是目录名——这是用于加载该目录和子目录中的类文件。

我认为,对于所有的类路径环境变量都是错误的,但最简单的“Hello,World”教程除外

正确的方法是在编译和运行时为每个项目设置类路径。每个项目都可能是不同的,所以这是非常有意义的

IDE忽略类路径环境设置;所有JavaEE应用服务器也是如此。它是Java1.0的遗物。我没有在我工作的任何机器上设置类路径


学习为命令行编写脚本。或者使用蚂蚁。你会很高兴的。

O真的吗?类路径中目录的定义通常用于查找裸.class文件。错误。你必须单独列出罐子。哦,我想这只是一个惯例。谢谢你及时的回答:)非常有趣+1.然而,我反对使用'should',因为加载的文件没有明确的顺序,所以如果目录中有多个jar包含同一类的不同版本,可能会出现意外行为。你是对的,在这种情况下,显式jar加载更好。当您有一组独立的jar要加载时,使用通配符是一个很好的解决方案。按照达夫莫的建议,最好有一个蚂蚁脚本。这是设置类路径最方便的方法