Netbeans から移動したばかりの確立された Java プロジェクト用に、最初の build.xml ファイルを作成しようとしています。
A. 私が達成しようとしている目標は非常に単純です。
以下の「dest」ターゲットを使用して、すべてのソース ファイル (1 つのパッケージから全部で 4 つ) を、作成しようとしている src/test にコピーします。ソースファイルは「src/test」ディレクトリにコピーされましたが、「src/test」ディレクトリに「test」ディレクトリも作成されました。なぜかわからないのですが。
以下の「jar」ターゲットを使用して、パッケージ名ディレクトリの下にすべてのクラス ファイルを含む jar を作成します - まったく機能しませんでした!
「コンパイル」ターゲットを使用して、すべてのコードが正常にコンパイルされるようにしましたが、多くのエラーが発生しました。このコードは Eclipse で CLEAN と BUILD を正常に実行するため、ANT スクリプトで何が間違っていたのかわかりませんが、「4」しかないのに「8」個のファイルをコンパイルしようとしていたことに気付きました。重複を示していますが、他の4つがどこから来ているのかわかりません。不足しているシンボルに関して表示されるエラーは、ビルド パスに含まれる必要なプロジェクトに関するインポート ステートメントを参照しているように見えるため、ANT がコンパイルで発生させる問題に対処する方法がわかりません。
B. これは、最初の build.xml ファイルを作成する最初の試みですが、以下に示す問題が発生しています。
<project name="ThalesDataGenerator" basedir="." default="clean-build">
<property name="src.dir" value="src"/>
<property name="dest.dir" value="${src.dir}/test"/>
<property name="dist.dir" value="dist"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/${ant.project.name}"/>
<property name="main-class" value="thalesdatagenerator.ThalesDataGenerator"/>
<target name="clean">
<delete dir="${build.dir}"/>
<delete dir="${dest.dir}"/>
</target>
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}"/>
</target>
<target name="dest">
<mkdir dir="${dest.dir}"/>
<copy todir="${dest.dir}">
<fileset dir="${src.dir}" includes="**"/>
</copy>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/ThalesDataGenerator.jar" basedir="${build.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
</target>
<target name="run" depends="jar">
<java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
</target>
<target name="clean-build" depends="clean,dest,jar,run"/>
</project>
ここに私が得たエラーがあります:
- > ビルドファイル: C:\ATMSwitch\ThalesDataGenerator\build.xml クリーン:
- > [delete] ディレクトリ削除 C:\ATMSwitch\ThalesDataGenerator\build
- >宛先:
- > [mkdir] 作成されたディレクトリ: C:\ATMSwitch\ThalesDataGenerator\src\test
- > [コピー] 4 つのファイルを C:\ATMSwitch\ThalesDataGenerator\src\test にコピー
- > [コピー] C:\ATMSwitch\ThalesDataGenerator\src\test の下に 2 つの空のディレクトリを 1 つの空のディレクトリにコピーしました
- > コンパイル:
- > [mkdir] 作成されたディレクトリ: C:\ATMSwitch\ThalesDataGenerator\build\classes
- > [javac] C:\ATMSwitch\ThalesDataGenerator\build.xml:22: 警告: 'includeantruntime' が設定されていませんでした。デフォルトは build.sysclasspath=last です。繰り返し可能なビルドの場合は false に設定
- > [javac] 8 つのソース ファイルを C:\ATMSwitch\ThalesDataGenerator\build\classes にコンパイルする
- > [javac] C:\ATMSwitch\ThalesDataGenerator\src\thalesdatagenerator\ISOUtil.java:36: 重複クラス: thalesdatagenerator.ISOUtil
- > [javac] C:\ATMSwitch\ThalesDataGenerator\src\test\thalesdatagenerator\ThalesDataGenerator.java:13: パッケージ common.database が存在しません
- > [javac] import common.database.Database;
- > [javac] ^
- > [javac] C:\ATMSwitch\ThalesDataGenerator\src\test\thalesdatagenerator\ThalesSystem.java:13: パッケージ com.sharpbancsystems.atmterminals.thales が存在しません
- > [javac] 注: C:\ATMSwitch\ThalesDataGenerator\src\test\thalesdatagenerator\ThalesDataGenerator.java は、未チェックまたは安全でない操作を使用します。
- > [javac] 注: 詳細については、-Xlint:unchecked で再コンパイルしてください。
[javac] 18 エラー
ビルドに失敗しました
C:\ATMSwitch\ThalesDataGenerator\build.xml:22: コンパイルに失敗しました。詳細については、コンパイラ エラー出力を参照してください。
合計時間: 874 ミリ秒
どんな助け/指示も大歓迎です。よろしく。