web-dev-qa-db-ja.com

Eclipseで.jarファイルを自動生成する方法Javaプロジェクト

Eclipse Javaプロジェクト。「dist」という名前のフォルダーが含まれています。そのフォルダーには.jarファイルがあります。

プロジェクトの.Javaファイルの1つが再コンパイルされたときに、この.jarファイルが更新されるように、このプロジェクトで設定する方法はありますか?

ありがとう。

45
Dr. Faust

Antファイルを作成し、Eclipseにビルドを指示します。手順は2つしかなく、それぞれの手順は次の手順に従って簡単に行えます。


ステップ1 build.xmlファイルを作成し、パッケージエクスプローラーに追加します。

<?xml version="1.0" ?>
<!-- Configuration of the Ant build system to generate a Jar file --> 
<project name="TestMain" default="CreateJar">
  <target name="CreateJar" description="Create Jar file">
        <jar jarfile="Test.jar" basedir="." includes="*.class" />
  </target>
</project>

Eclipseは以下のスクリーンショットのようになります。 build.xmlのAntアイコンに注意してください。 Build.xml in Eclipse Project

ステップ2プロジェクトのルートノードを右クリックします。 -プロパティの選択-ビルダーの選択-新規の選択-Antビルドの選択-メインタブで、binフォルダー内のbuild.xmlファイルへのパスを入力します。

Ant builder configurationBuild step - Targets Tab

出力の確認

Eclipseの出力ウィンドウ(Consoleという名前)には、ビルド後に次のように表示されます。

Buildfile: /home/<user>/src/Test/build.xml

CreateJar:
         [jar] Building jar: /home/<user>/src/Test/Test.jar
BUILD SUCCESSFUL
Total time: 152 milliseconds
35
Thomas Bratt

プロジェクト内のすべてのクラスファイルをjarするjarタスクを実行するAntビルダーを定義できます( "Refresh project upon completion" セットする。)

alt text

(「 Eclipseプロジェクトのビルドのカスタマイズ 」も参照)

IBMの記事を参照してください: カスタムAntタスクを作成する方法と理由

alt text

17
VonC

一般的なパターンは、プロジェクト内のクラスファイルに対して動作することです(プロジェクトは他のプロジェクトのビルドパスに追加して、テスト中に実行時に使用できます)。したがって、開発中に実際にjarファイルは必要ありません.

自動ビルドステップを追加するための一般的なアプローチは、Antスクリプトを記述し、それをプロジェクトに含めることです。その後、Antスクリプトの実行をプロジェクトのビルドに含めることができます。したがって、Antには非常に簡単なjarビルドタスクがあるので、常にjarファイルが必要な場合、これはそれほど労力ではありません。 参照 スターター用。

4
djna

J2EEユーティリティプロジェクト(Util)を作成します。 J2EEプロジェクト(ProjectX)との関連付けを作成できます。 Utilプロジェクトに依存するようにProjectXのプロパティを編集すると、Util.jarとしてUtilが表示されます。依存関係を宣言すると、EclipseはUtilプロジェクトをビルドする必要があるときにUtil.jarをビルドします。 Utilプロジェクトで自動ビルドをアクティブにしている場合、プロジェクトがビルドされるたびに.jarファイルの同期が維持されます。ターゲットプロジェクトがJ2EEプロジェクトでない場合でも、このソリューションを使用できますが、ダミーのJ2EE親プロジェクトを使用できます。

Eclipse内から.Zipファイルを作成するためにANTタスクを使用するためのヘルプページへのリンクを次に示します。 http://help.Eclipse.org/galileo/index.jsp?topic=/org.Eclipse。 pde.doc.user/tasks/pde_feature_generated_ant.htm

別の解決策は、Zipプラグインを使用することです。 5年以上前にこれを使用しましたが、WSADに依存プロジェクトのサポートが.jarファイルとして含まれていたため停止しました。

2
Kelly S. French

Thomasの答えは機能しますが、生成されるjarファイルは、実際にアプリケーションを実行するために使用できるものではありません。

私は最終的に:

<?xml version="1.0" ?>
<!-- Configuration of the Ant build system to generate a Jar file --> 
<project name="TDSz Data Mover" default="CreateJar">
  <target name="CreateJar" description="Create Jar file">
        <delete file="DataMover.jar"/>
        <jar jarfile="DataMover.jar" basedir="bin/" includes="**/*.class **/Messages*.*" " update="no">
            <zipfileset dir="D:/Java/mylib" erroronmissingarchive="true">
                <include name="*.jar" />
            </zipfileset>  
            <manifest>
                <attribute name="Main-Class" value="some.package.and.app"/>
            </manifest>             
        </jar>
  </target>
</project>

この答えが出されてから何かがアリで変わったかどうかはわかりませんが、実際に動作させるには少し掘り下げました。チュートリアルの多くの解決策は部分的な答えにすぎませんでした...

主な変更:

  • ビルドファイルを変更した後、antビルドを再実行したときに再生成されなかったため、jarファイルの削除を追加しました。
  • 実行可能ファイルを適切に設定するためのマニフェストが追加されました。
  • いくつかの.jarファイルをlibとして取り込む
  • NLSサポート用のMessage_ファイルを取得します

Netbeansはこれを非常に簡単にします-いくつかのボックスをチェックするだけです。

[誤って終了したjarタグの問題を修正し、.jarファイルをプルする]

0
Mykael