Java -cp目录无法正常工作,文件工作正常

时间:2014-08-15 15:01:25

标签: java tomcat jar classpath

编译应用程序时,我需要指向所有可能的jar文件。像这样:

#javac -cp "WEB-INF/lib/commons-cli-20040117.000000.jar:WEB-INF/lib/slf4j-api-1.7.2.jar" WEB-INF/classes/mypackage/*.java 

当我尝试指向包含所有jar的目录时,我找不到任何包:

#javac -cp "WEB-INF/lib" WEB-INF/classes/mypackage/*.java 

为什么我不能指向使用-cp的目录?如何强制java编译器读取特定目录中的所有jar?

谢谢,

2 个答案:

答案 0 :(得分:2)

javac -cp "WEB-INF/lib/*" WEB-INF/classes/mypackage/*.java

在目录名末尾添加/*,告诉Java查找该目录中的所有JAR。确保使用引号执行此操作。您不希望shell将*解释为通配符。您希望将文字*字符传递给Java。

答案 1 :(得分:-3)

这就是世界的方式。类路径中的目录获取该目录中的所有类,即该jar文件中所有类的命名jar文件。它永远不会包含嵌套在目录或其他jar文件中的jar文件。