私は Ant の初心者です (私は Maven から来ましたが、現時点では Ant は私の悪夢です)。
次のような状況があります。
Eclipse ワークスペースには、最終的な単一のアプリケーションを構成する相互に対話する Java プロジェクトがあります。
アプリケーション GUI を実装するこのプロジェクト ( CrystalIceGUIという名前) の 1 つに、独自のbuild.xml Ant スクリプトが含まれています。
1)すべてのプロジェクトをコンパイルします(CrystalIceGUI プロジェクトの依存関係と見なされます)。
2) プロジェクトごとに、(適切なプロジェクトに) Releaseという名前のディレクトリを作成し、このプロジェクトに関連する.jarファイルをそこに置きます。(たとえば、これらのプロジェクトの 1 つがShellExtBridgeという名前であるため、Ant スクリプトは次のディレクトリを作成します: ShellExtBridge/Releaseおよび作成されたShellExtBridgeの.jarファイルをこのディレクトリに配置します。
3) 最後に、メイン プロジェクト ( CrystalIceGUI ) の次の構造を作成します。 Relaeseという名前のディレクトリをCrystalIceGUIプロジェクトに作成し、このディレクトリにCrystalIceGUI プロジェクトに関連する .jar ファイルを配置します。
さらに、このディレクトリCrystalIceGUI/Release/libを作成します。このディレクトリには、以前に依存プロジェクト用に作成されたすべての.jarが含まれています。
そして今、私の問題: 上司は、プロジェクトごとに 1 つの Ant スクリプトを作成するように私に依頼しました。これらの Ant スクリプトは、各プロジェクトにリリースフォルダーを作成し、プロジェクトの jar を作成して、このリリース フォルダーに jar を配置するだけです。しかし、私はそれをどのように行う必要があるかについて少し混乱しています。
私のアイデアは次のとおりです。プロジェクトごとに、古い Ant スクリプト (メイン プロジェクトのすべての作業を実行するスクリプト) から、現在取り組んでいるプロジェクトに関連するセクションを取得します。
たとえば、ShellExtBridgeという名前の前のサブプロジェクトの場合: 古いbuild.xml ant スクリプトから次のコード セクションを取得します。
<target name="shellextbridge"
description="Packs classes of shellextbridge">
<mkdir dir="${project.libdir}" />
<javac srcdir="${deps.shellextbridge.dir}/Project/src" destdir="${deps.shellextbridge.dir}/Project/bin"/>
<jar destfile="${deps.shellextbridge.dir}/Release/${deps.shellextbridge.jar}" index="false">
<fileset dir="${deps.shellextbridge.dir}/Project/bin"/>
<manifest>
<attribute name="Created-By" value="${info.software.author}" />
<attribute name="Main-Class" value="com.techub.crystalice.rmi.Main"/>
</manifest>
</jar>
<copy file="${deps.shellextbridge.dir}/Release/${deps.shellextbridge.jar}" tofile="${project.libdir}/${deps.shellextbridge.jar}"/>
<copy file="${deps.shellextbridge.dir}/Release/${deps.shellextbridge.jar}" tofile="${project.deploy}/lib/${deps.shellextbridge.jar}"/>
<copy file="${deps.shellextbridge.dir}/Release/${deps.shellextbridge.jar}" tofile="${project.dev.deploy.dir}/${deps.shellextbridge.jar}"/>
</target>
それを、 ShellExtBridgeプロジェクトに固有の新しいbuild.xml ant スクリプトに入れます (パスを変更します)。
彼らが私に求めたことを実行するための良い解決策はありますか?
住んでたらごめんなさい昨日までアリを見たことがなかったのでどう行動したらいいのか疑問がたくさんあります
TNX
アンドレア