我对添加特定文件夹中的特定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?
由于
答案 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