我在一个文件夹中有一堆 jar,为了简化类路径设置,我使用了新的(在 Java 6 中)类路径通配符语法:
CLASSPATH=":/$JARS/*"
这将获取 $JARS 目录中的所有 jar。到现在为止还挺好。
但是,该目录中有一个 jar,我需要首先出现在类路径中,通配符语法的文档说明 jar 的顺序取决于实现,不能依赖。
我想做的是在通配符前面添加一个我需要首先明确出现的罐子:
CLASSPATH=":/$JARS/first.jar:/$JARS/*"
现在这意味着first.jar
它将在类路径中出现两次,首先是显式引用,然后是通配符。这会给我带来什么问题吗?
是的,我知道我可以放入first.jar
一个不同的目录来避免这个问题,但可以说这样做会涉及很多我不想处理的麻烦(我正在处理第 3 方产品) .
编辑:
我需要首先出现 jar,因为它包含一些 XML 配置文件(作为资源加载),这些文件需要覆盖另一个 jar 中具有相同名称的 XML 文件(由第 3 方供应商提供)。只是为了澄清,first.jar
是我控制的唯一罐子。目录中的所有其他 jar 均由第 3 方供应商提供。