使用regexp在类路径中添加jar

时间:2015-02-24 07:30:21

标签: java

我对添加特定文件夹中的特定jar有疑问。

方案: 我有一个lib文件夹,其中包含许多jar文件。由于某些问题,我必须优先考虑jar文件而不是其他文件。

请参阅此问题:http://bugzilla.slf4j.org/show_bug.cgi?id=327

现在我想在这里首先加载一个特定的jar文件log4j-1.2.17.jar

一个选项是我只需在我的应用脚本中对其进行硬编码,以确保始终在类路径中添加此jar。

方法中的问题: 由于该项目是基于maven的,因此log4j版本可能会发生变化。在那种情况下,我再次容易出现同样的问题,因为我必须去改变脚本中的版本。

其他选项(我正在寻找解决方案),有一些可能性:

示例命令(预期,但这不起作用):

java -cp <path to my app>/lib/log4j*:<path to my app>/lib/* MainClass

我在这里看到的优势,即使log4j版本发生变化,我也不必更改脚本。

需要输入如何实现方法2?

由于

1 个答案:

答案 0 :(得分:1)

根据这个:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html

  

类路径条目可以包含基本名称通配符,它被认为等同于指定扩展名为.jar或.JAR的目录中所有文件的列表。例如,类路径条目foo / 指定名为foo的目录中的所有JAR文件。简单地由*组成的类路径条目扩展为当前目录中所有jar文件的列表。

所以&#34; *&#34;等同于目录中的所有* .jar文件。也许你可以将log4j放在lib / log目录中?以下内容适用于Windows:

java -cp "lib\*;lib\log\*" MainClass
相关问题