我正在使用JDK 1.6.0.25。我正在尝试包含类似的类路径:
-cp .;Server.jar;Util.jar;../jars/**/*;./lib/*
无论我做什么,这都行不通,我最终不得不明确地引用这些目录中的文件。知道怎么调试这个或者有人知道我做错了吗?
答案 0 :(得分:3)
请参阅Settings the classpath(“了解类路径通配符”一节)
您不能使用Ant或Bash样式的通配符,只能以“标准”方式使用它。
答案 1 :(得分:2)
来自Java application launcher documentation:
类路径条目可以包含 basename通配符*,其中 被认为等同于指定 中的所有文件的列表 扩展名为.jar或的目录 .JAR。
请注意,没有提及序列**
,它不会被java可执行文件以任何合理的方式解释。您也不能在子目录中递归搜索:
不搜索子目录 递归。例如,foo / *看起来 仅适用于foo中的JAR文件,而不适用于 foo / bar,foo / baz等。
换句话说,如果您打算直接从命令行使用通配符,则必须显式指定类路径条目jars
中../jars/**/*
目录的所有子目录。