4

Ant を使用して「uberjar」を構築しようとしていますが、プロジェクトにはいくつかのプロパティ ファイルを含む config ディレクトリがあります。

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

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

<fileset>プロパティ ファイルを新しい jar ファイルに含めるには、タスクにネストされた別のファイルを追加でき<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?も参照してください。

于 2012-08-17T16:24:41.580 に答える