将所有 jar 文件添加到 java 类路径,除了一些

Add all jar files to java classpath except of some ones

我们知道 class 路径条目 foo/* 作为 classpath 的值,指定名为 foo 的目录中的所有 JAR 文件。现在我在 foo 中有一长串 jar 文件,我想将它们全部添加到 classpath(通过 JDK 工具的 -cp 选项)除了 "unwanted.jar".

Git中,我们可以通过将此规则添加到gitignore来排除"unwanted.jar":

foo/*
!foo/unwanted.jar

对于 classpath,除了使用 : 字符手动添加它们或将它们移动到另一个目录之外,是否有快速的方法来执行此操作?

在 Linux 或 OS X 中使用这个将完成工作:

ls -1 $PWD/foo/*.jar | grep -v 'unwanted1.jar\|unwanted2.jar' | tr '\n' ':'

因此您可以将它与java命令一起使用:

java -cp `ls -1 $PWD/foo/*.jar | grep -v 'unwanted.jar\|unwanted2.jar' | tr '\n' ':'` ...