現在の状況: ビルドシステムをAntからGradleに移行しています。現在、クラスパスとビルドパスに関する問題に直面しています。移行Ant Gradle - Eclipseのクラスパスとビルドパスの問題
<target name="compile">
<mkdir dir="${build.compile.target}/classes" />
<javac srcdir="${src}" destdir="${build.compile.target}/classes">
<classpath>
<fileset dir="${build.war}/WEB-INF/lib">
<include name="**/*.jar" />
</fileset>
<pathelement location="${build.war}/WEB-INF/classes" />
</classpath>
</javac>
</target>
開発者は通常、warファイルを作成するには、次のセットアップローカルターゲットを実行する、など
<target name="setup-local" depends="clean">
<antcall target="copy_webapp" />
<antcall target="compile" />
copy_webappターゲットがコピーされます。ここでは、現在のAntのコンパイルターゲット定義であります.jarと.classファイルをディレクトリから$ {build.war}ディレクトリにコピーします。残念なことに、このコピーターゲットは、ファイルに関連する変更を加える際に本当に必要です(2つのディレクトリから1つのファイルにマージする、上書きする、ファイルを変更するなど)。コメントなしのレガシーコードです。 CLASSPATHにcopy_webappターゲットが事前に実行されたときにのみ存在しないファイルへの参照があります:物事は、彼らがどのようにしている理由)私にとって
問題を見つけます。十分な公正 - これは、常にセットアップローカルターゲットのみを実行する場合に機能します。
Gradleに移行してプロジェクトをEclipseにインポートした後、私の.javaファイルに何千ものエラーがあり、インポートを解決できないと言います。もちろん、そうではありません。ビルドパスには、存在しないファイル(例: "$ {build.war}/path/to/jar")があります。
私はこれらのエラーを解決する方法がわかりません。前にcopy_webappターゲットに依存しないようにクラスパスを再構成する必要がありますか?または、何らかの形で(Gradleを使用して)ビルドパスを修正してから、最初にcopy_webappターゲットを解決する必要がありますか?
現在のグラデーションスクリプトを表示するまでお手伝いできません –
eclipseプロジェクトを生成するために 'gradle eclipse'を実行していますか? – cmcginty
はい、gradle eclipseを実行しています。私はそれが構造的な問題であるので、私の問題を解決するためにGradleスクリプトは必要ないと思います。 – SilverJan