2012-03-12 12 views
1

時のディレクトリ構造を作成します。私は、次のディレクトリ構造を持つjarファイルを作成したいのAntのjarタスク

<jar destfile="dist/main/thejar.jar"> 
    <!-- Create the manifest --> 
    <manifest> 
     <!-- JAR should be sealed. --> 
     <attribute name="Sealed" value="true" /> 
    </manifest> 

    <!-- Copy main build directory to classes/ directory in JAR. --> 
    <fileset dir="dist/main/classes" includes="build/main"/> 

    <!-- Copy main library directory to lib/ directory in JAR. --> 
    <fileset dir="dist/main/lib" includes="lib/main"/> 

    <!-- Copy main resources directory to res/ in JAR. --> 
    <fileset dir="dist/main/res" includes="res/main"/> 
</jar> 

私はこれを正しく理解していた場合は、それが必要:

thejar.jar/ 
    classes/ --> where all classes go 
    lib/ --> where all dependencies go 
    res/ --> where all non-classpath resources go (scripts, etc.) 
    META-INF/ 

ここに私のAntタスクがあります:dist/main/classesbuild/mainにすべての組み込み(の.class)ファイルをコピーする

  • JARタスクがエラーなしで実行されますが、私はthejar.jar Iの内容を表示するために行くときdist/main/*

thejar.jarにアップ耳障り dist/main/res
  • にすべてres/mainのファイルをコピーするdist/main/lib
  • にすべてlib/mainの依存関係をコピーしますMETA-INF /(上記のサブディレクトリのどれも参照してください)を見てください。

    ここでは何が起こっていますか?前もって感謝します!

  • +0

    あなたは、瓶に他の瓶を入れたいと言っていますか? – csturtz

    +0

    JARにすべての依存関係(lib /ディレクトリに入る)が含まれているようにしたい。しかし、それは私の質問のわずか3分の1です。 res /とclasses /ディレクトリも必要です。 – IAmYourFaja

    +0

    あなたはそれが普通の練習ではないことを知っていますよね? – csturtz

    答えて

    2

    あなたは瓶のdist/main/libbuild/main内のファイルをコピーするjar作業をしたいが、

    <fileset dir="dist/main/classes" includes="build/main"/> 
    

    はjarファイルにdist/main/classes/build/main内のファイルをパックすることを意味します。

    <jar destfile="${dist}/lib/app.jar"> 
        <fileset dir="${build}/classes" 
          excludes="**/Test.class" 
        /> 
        <fileset dir="${src}/resources"/> 
    </jar> 
    

    (上記のコード)$ {ビルド}/classesディレクトリとも$ {内のすべてのファイルをjarファイル:アリ・ジャータスクドキュメントから

    は例を見てみましょうsrc}/resourcesディレクトリを$ {dist}/libディレクトリのapp.jarというファイルにまとめます。

    あなたの要求を達成するために、私はあなたが欲しいディレクトリ構造に<copy>タスクを持つクラス、リソース、および依存関係をコピーし、ディレクトリをjarファイルができると思います。

    関連する問題