web-dev-qa-db-ja.com

EclipseでプロジェクトをJARに自動的にビルドする

JavaプロジェクトをJARに自動的にビルドしたままにするEclipseプロジェクトがあります。プロジェクトをJARにエクスポートするオプションがあることを知っています。右クリックした場合;しかし、私が本当に探しているのは、Eclipseのようにプロジェクトの.classファイルを自動的にビルドし、それらをターゲットフォルダに入れることです。また、JARを自動的に構築し、特定の場所または特定の場所に最新のJARをコピーする必要があります。

JARを自動的に構築するために、そのような方法でEclipseを構成するオプションはありますか?

みんなにわかりやすくするために、私の質問に答えるのに十分忍耐強く。私はANTをソリューションとして見ていません。私はすでにそれを使用していますが、時間ベースのトリガーまたは変更を伴う即時ビルドのいずれかで自動的に開始されるものが好きです。

166
Priyank

チェックアウト Apache Ant

Eclipseでの自動ビルドにAntを使用することができます 方法はこちら

27
user130076

.jardescファイルが必要です。自動的に開始されるわけではありませんが、2クリック以内です。

  1. プロジェクトを右クリックします
  2. Export > Java > JAR fileを選択します
  3. 含まれるファイルを選択し、出力JARに名前を付けて、Nextをクリックします
  4. 「このJARの説明をワークスペースに保存する」をチェックし、新しい.jardescファイルの名前を選択します

これで、あなたがしなければならないことは、.jardescファイルを右クリックし、Create JARを選択するだけで、同じ場所にエクスポートされます。

285
Konrad

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

編集:@yeomanと@betlistaによる役立つコメント

@yeomanほとんどの人がパッケージを使用するため、正しいインクルードは* .classではなく/.classになると思います。したがって、クラスファイルの再帰的な検索はフラットなインクルードよりも意味があります。

@betlista srcフォルダーにbuild.xmlがないようにすることをお勧めします

69
Thomas Bratt

これは、EclipseでカスタムBuilderを定義することで可能です(Peterの回答のリンクを参照)。ただし、プロジェクトが非常に小さい場合を除き、ワークスペースが許容できないほど遅くなる可能性があります。クラスファイルの自動ビルドは段階的に行われます。つまり、変更の影響を受けるクラスのみが再コンパイルされますが、変更を保存するたびにJARファイルを完全に再構築してコピーする必要があります。

13

Peterの答えとそれに対するMichealの追加については、 Eclipse Java Projectで.jarファイルを自動的に生成する方法 が役立つかもしれません。プロジェクトに「* .jardesc」ファイルがある場合でも、手動で実行する必要があります。 「Eclipseクリックの手間」を少し冷やすことができます。

4
underscore

上記のThomas Brattの回答を使用して、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="bin/" includes="**/*.class" />
  </target>
</project>

double asterisk-すべてのサブディレクトリで.classファイルを探すようにビルドに指示します。)

1
Hugo Leote

2つのプロジェクトが同じ外部ツールビルド名を持つことはできないため、ビルダーランチャーの作成は問題です。各名前は一意である必要があります。現在、ビルドを自動化し、JARを外部の場所にコピーするために、この問題に直面しています。

私はIBMのZip Builderを使用していますが、それは単なる助けにすぎませんが、実際には行いません。

人々はIBM Zip Creationプラグインを使用して試すことができます。 http://www.ibm.com/developerworks/websphere/library/techarticles/0112_deboer/deboer2.html#download

0
Anand Bansal