包括Java classpath中一个目录下的所有jars

是否有办法在classpath中包括一个目录内的所有jar文件?

我正在尝试java -classpath lib/*.jar:. my.package.Program,但它无法找到肯定在这些jar中的类文件。 我是否需要将每个jar文件分别添加到classpath中?

如果你真的需要动态地指定所有的.jar文件,你可以使用shell脚本,或者[Apache Ant][1]。有一个叫做[Commons Launcher][2]的共享项目,它基本上可以让你把你的启动脚本指定为一个Ant构建文件(如果你明白我的意思)。

然后,你可以指定类似的东西。


<path id="base.class.path">
    <pathelement path="${resources.dir}"/>
评论(0)

你需要分别添加它们。 另外,如果你真的*需要指定一个目录,你可以把所有东西解压缩到一个目录里,然后把它添加到你的classpath中。 然而,我不推荐这种方法,因为你有可能在classpath的版本和不可管理性方面遇到奇怪的问题。

评论(1)

把jar文件看作是一个目录结构的根。是的,你需要分别添加它们。

评论(0)