classpath路径 - mac java classpath




如何在类路径中使用通配符来添加多个罐子? (3)

这个问题在这里已经有了答案:

我一直在使用这么多的第三方库(jar文件),我的CLASSPATH完全搞砸了,因为我必须包含我使用的每个jar文件的路径。

我一直想知道是否有一种方法可以使用通配符(*)运算符(如* .jar)将所有jar文件包含在文件夹中。 但它似乎不起作用。 有没有其他方法可以缩短目前看起来像散文的CLASSPATH;)在我的电脑上?


基本名称通配符在Java 6中引入; 即“foo / *”表示“foo”目录中的所有“.jar”文件。

在不支持通配符类路径的Java早期版本中,我使用shell封装脚本来组装类路径,方法是'模式化'一个模式,并将结果改为在适当的点插入':'字符。 这在BAT文件中很难做到......


如果你的意思是你有一个名为CLASSPATH的环境变量,我会说这是你的错误。 在我开发Java的任何机器上我都没有这样的事情。 CLASSPATH与特定项目密切相关,因此不可能拥有适用于所有人的单一,正确的CLASSPATH。

我使用IDE或Ant为每个项目设置CLASSPATH。 我做了很多web开发,所以每个WAR和EAR都使用他们自己的CLASSPATH。

它被IDE和应用程序服务器忽略。 你为什么拥有它? 我建议删除它。


这适用于Windows:

java -cp "lib/*" %MAINCLASS%

其中%MAINCLASS%当然是包含主方法的类。

或者:

java -cp "lib/*" -jar %MAINJAR%

其中%MAINJAR%是通过其内部清单启动的jar文件。





wildcard