Java 如何将包含属性文件的目录添加到Ant build.xml?

Java 如何将包含属性文件的目录添加到Ant build.xml?,java,ant,build,Java,Ant,Build,我正试图用ant构建一个“uberjar”,该项目有一个配置目录和几个属性文件 如何将config dir添加到build.xml 以下是如何引用它的示例: static private String CONFIG_DIR = "config/"; static public String CONFIG_FILE = "proj.properties"; File configFile = new File(CONFIG_DIR, CONFIG_FILE); 配置目录中有多个属性文件。通常我

我正试图用ant构建一个“uberjar”,该项目有一个配置目录和几个属性文件

如何将config dir添加到build.xml

以下是如何引用它的示例:

static private String CONFIG_DIR = "config/";
static public String CONFIG_FILE = "proj.properties";

File configFile = new File(CONFIG_DIR, CONFIG_FILE);
配置目录中有多个属性文件。通常我只会将其添加到类路径:

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文件中包含属性文件,您可以将另一个嵌套的
添加到
任务中

<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>


也请参阅StAcExpLoad问题:<强>

您应该考虑将文件加载为类路径:如果可能的话,我不想修改代码——这是我正在评估的一个外部项目。@ ESPED:您想将属性文件添加到jar中的配置目录吗?是的,因此,它可以在jar中访问。使用new file()无法访问jar文件中的任何内容,如果您不想更改代码,则需要将这些文件与jar分开。我尝试过,但是

新建文件(CONFIG\u DIR,CONFIG\u file)找不到文件。@espeed:请查看指向“谢谢”的链接。我试图在不修改项目代码的情况下实现这一点——这是一个外部项目。如果必须使用Java对象,则无法从jar文件中读取属性文件。