作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试用 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>
最佳答案
要在新的 jar 文件中包含属性文件,您可以添加另一个嵌套的 <fileset>
到 <jar>
任务。
<target name="uberjar" depends="compile">
<jar jarfile="${babelnet.jar}">
<fileset dir="${bin.dir}">
<include name="**/*.class"/>
</fileset>
<zipgroupfileset dir="lib" includes="*.jar"/>
<fileset dir="${basedir}">
<include name="config/*.properties"/>
</fileset>
</jar>
</target>
另外,请参阅 stackoverflow 问题: How to read a file from a jar file?
关于java - 如何将包含属性文件的目录添加到 Ant build.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12007868/
我是一名优秀的程序员,十分优秀!