-1

ant を使用して jar タスクを定義しましたbuild.xml。すべての依存関係を jar にバンドルする必要があります。.jarant が jar を抽出し、 s とファイルの両方を jar に含める理由がわかりません.class。jar ファイルのサイズが不必要に大きくなります。これが私のjarタスクです。

<jar destfile="build/main/ERS2SupportingUtilities.jar">
            
            <fileset dir="target/classes">
                <exclude name="*.sh"/>
            </fileset>

            <restrict>
             <name name="**/*.class"/>
             <archives>
               <zips>
                 <fileset dir="./src/main/resources/lib" includes="**/*.jar"/> 
               </zips>
             </archives>
            </restrict>

            <manifest>
              <attribute name="Main-Class" value="com.cibc.ers2.invoker.JobTest"/>
                <attribute name="Class-Path" value="./lib/log4j-1.2.16.jar
                                                    ./lib/org.springframework.context-3.0.3RELEASE.jar
                                                    ./lib/org.springframework.asm-3.0.3.RELEASE.jar
                                                    ./lib/junit-4.7.jar
                                                    ./lib/org.springframework.orm-3.0.3.RELEASE.jar
                                                    ./lib/org.springframework.transaction-3.0.3.RELEASE.jar
                                                    ./lib/org.springframework.aspects-3.0.3.RELEASE.jar
                                                    ./lib/commons-pool-1.5.4.jar
                                                    ./lib/org.springframework.core-3.0.3.RELEASE.jar
                                                    ./lib/commons-logging-1.1.1.jar
                                                    ./lib/HashUtility.jar
                                                    ./lib/org.springframework.expression-3.0.3.RELEASE.jar
                                                    ./lib/commons-lang-2.6.jar
                                                    ./lib/org.springframework.instrument-3.0.3.RELEASE.jar
                                                    ./lib/mockito-all-1.9.5.jar
                                                    ./lib/com.springsource.org.aopalliance-1.0.0.jar
                                                    ./lib/ojdbc14.jar
                                                    ./lib/commons-io-2.4.jar
                                                    ./lib/commons-collections-3.1.jar
                                                    ./lib/org.springframework.jdbc-3.0.3.RELEASE.jar
                                                    ./lib/spring-batch-infrastructure-2.1.9.RELEASE.jar
                                                    ./lib/org.springframework.context.support-3.0.3.RELEASE.jar
                                                    ./lib/commons-dbcp-1.4.jar
                                                    ./lib/spring-batch-test-2.1.9.RELEASE.jar
                                                    ./lib/org.springframework.beans-3.0.3.RELEASE.jar
                                                    ./lib/org.springframework.oxm-3.0.3.RELEASE.jar
                                                    ./lib/org.springframework.aop-3.0.3.RELEASE.jar
                                                    ./lib/commons-beanutils.jar
                                                    ./lib/org.springframework.binding-2.1.1.RELEASE.jar
                                                    ./lib/spring-batch-core-2.1.9.RELEASE.jar
                                                    ./lib/org.springframework.test-3.0.3.RELEASE.jar
                                                    ./launch-context.xml
                                                    ./log4j.xml"
                />
            </manifest>
        </jar>

私も試しzipgroupfilesetましたが、それも同じ問題を引き起こしています。

編集

私が達成しようとしていることについて十分な情報を提供できなかったことをお詫びします。私は @ コンパイルしているアプリケーションを持っていますtarget/classes。クラス ファイルと依存関係を含むこのアプリケーションを 1 つの jar にパッケージ化する必要があります。

4

1 に答える 1

0
 <fileset dir="target/classes">
     <exclude name="*.sh"/>
 </fileset>

シェルスクリプトではないターゲット/クラスからのすべてのファイルが含まれます。

<restrict>
    <name name="**/*.class"/>
    <archives>
         <zips>
             <fileset dir="./src/main/resources/lib" includes="**/*.jar"/> 
          </zips>
     </archives>
</restrict>

ここにもクラスとjarを含めているようです。

jarのみが必要な場合は、上記のすべてを次のように変更します。

<zipfileset dir="./src/main/resources/lib" includes="*.jar"/>
于 2012-12-28T16:21:19.800 に答える