一尘不染

在Java类路径的目录中包含所有jar?

java jar

有没有办法将所有jar文件包含在类路径的目录中?

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


阅读 753

收藏
2020-01-10

共1个答案

一尘不染

使用Java 6或更高版本时,classpath选项支持通配符。请注意以下几点:

  • 使用双引号(”)
  • 使用*,不*.jar

windows

java -cp "Test.jar;lib/*" my.package.MainClass

Linux

java -cp "Test.jar:lib/*" my.package.MainClass

这类似于Windows,但使用:代替;。如果不能使用通配符,则bash允许使用以下语法(其中lib包含所有Java归档文件的目录):

java -cp $(echo lib/*.jar | tr ' ' ':')
2020-01-10