4

我正在尝试用 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>
4

1 回答 1

5

要在新的 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 问题:如何从 jar 文件中读取文件?

于 2012-08-17T16:24:41.580 回答