JavaプロジェクトをJARに自動的にビルドしたままにするEclipseプロジェクトがあります。プロジェクトをJARにエクスポートするオプションがあることを知っています。右クリックした場合;しかし、私が本当に探しているのは、Eclipseのようにプロジェクトの.class
ファイルを自動的にビルドし、それらをターゲットフォルダに入れることです。また、JARを自動的に構築し、特定の場所または特定の場所に最新のJARをコピーする必要があります。
JARを自動的に構築するために、そのような方法でEclipseを構成するオプションはありますか?
みんなにわかりやすくするために、私の質問に答えるのに十分忍耐強く。私はANTをソリューションとして見ていません。私はすでにそれを使用していますが、時間ベースのトリガーまたは変更を伴う即時ビルドのいずれかで自動的に開始されるものが好きです。
チェックアウト Apache Ant
Eclipseでの自動ビルドにAntを使用することができます 方法はこちら
.jardesc
ファイルが必要です。自動的に開始されるわけではありませんが、2クリック以内です。
Export > Java > JAR file
を選択しますNext
をクリックします.jardesc
ファイルの名前を選択しますこれで、あなたがしなければならないことは、.jardesc
ファイルを右クリックし、Create JAR
を選択するだけで、同じ場所にエクスポートされます。
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アイコンに注意してください。
ステップ2プロジェクトのルートノードを右クリックします。 -プロパティの選択-ビルダーの選択-新規の選択-Antビルドの選択-メインタブで、binフォルダー内のbuild.xmlファイルへのパスを入力します。
出力の確認
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がないようにすることをお勧めします
これは、EclipseでカスタムBuilderを定義することで可能です(Peterの回答のリンクを参照)。ただし、プロジェクトが非常に小さい場合を除き、ワークスペースが許容できないほど遅くなる可能性があります。クラスファイルの自動ビルドは段階的に行われます。つまり、変更の影響を受けるクラスのみが再コンパイルされますが、変更を保存するたびにJARファイルを完全に再構築してコピーする必要があります。
Peterの答えとそれに対するMichealの追加については、 Eclipse Java Projectで.jarファイルを自動的に生成する方法 が役立つかもしれません。プロジェクトに「* .jardesc」ファイルがある場合でも、手動で実行する必要があります。 「Eclipseクリックの手間」を少し冷やすことができます。
上記の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ファイルを探すようにビルドに指示します。)
2つのプロジェクトが同じ外部ツールビルド名を持つことはできないため、ビルダーランチャーの作成は問題です。各名前は一意である必要があります。現在、ビルドを自動化し、JARを外部の場所にコピーするために、この問題に直面しています。
私はIBMのZip Builderを使用していますが、それは単なる助けにすぎませんが、実際には行いません。
人々はIBM Zip Creationプラグインを使用して試すことができます。 http://www.ibm.com/developerworks/websphere/library/techarticles/0112_deboer/deboer2.html#download