【发布时间】:2012-08-14 00:35:35
【问题描述】:
我正在尝试使用 ant 构建一个“uberjar”,并且该项目有一个包含多个属性文件的配置目录。
如何将配置目录添加到 build.xml?
这是一个如何引用它的示例:
static private String CONFIG_DIR = "config/";
static public String CONFIG_FILE = "proj.properties";
File configFile = new File(CONFIG_DIR, CONFIG_FILE);
config 目录中有多个属性文件。通常我会把它添加到类路径中:
java -classpath bin:lib/*:config some.project.Example
这是我的 build.xml 目标,它不太正确:
<target name="uberjar" depends="compile">
<jar jarfile="${babelnet.jar}">
<fileset dir="${bin.dir}">
<include name="**/*.class"/>
</fileset>
<zipgroupfileset dir="lib" includes="*.jar"/>
</jar>
<copy todir="config">
<fileset dir="config">
<include name="**/*.properties"/>
</fileset>
</copy>
</target>
【问题讨论】:
-
您应该考虑将文件作为资源从类路径加载:stackoverflow.com/questions/3294196/…
-
如果可能,我不想修改代码——这是我正在评估的外部项目。
-
@espeed:您是否尝试将属性文件添加到 jar 中的配置目录?
-
是的,所以它可以在 jar 中访问。
-
无法使用 new File() 访问 jar 文件中的任何内容 ...,如果您不想更改代码,则需要将这些文件与 jar 分开跨度>