私は Ant に非常に慣れていません (私は Maven から来ました)。Eclipse ワークスペースにある Java プロジェクトをコンパイルするこの単純な Ant スクリプトにはいくつかの問題があります。
Ant スクリプト コードは次のとおりです。
<?xml version="1.0"?>
<project>
<!-- ============================================ -->
<!-- Load build properties -->
<!-- ============================================ -->
<property name="project.buildfile" value="build.num" />
<property file="${project.buildfile}" />
<property file="info.properties" />
<!-- Elimina le cartelle contenenti le classi compilate ed i jar -->
<target name="clean">
<delete dir="../Release" />
<!-- Elimina directory del jar finale -->
<delete dir="bin" />
<!-- Elimina directory delle classi compilate -->
</target>
<target name="compile">
<mkdir dir="bin" />
<javac srcdir="src" destdir="bin" />
</target>
</project>
したがって、このスクリプトにはcleanという名前の最初のターゲットがあり、2 つのディレクトリをプロジェクトに削除するだけです (この部分はうまく機能します)。
もう 1 つのターゲットは、プロジェクトのコンパイルに関連する 2 つの単純なタスクを実装する compileという名前です。
1) プロジェクトにbinという名前のディレクトリを作成します(これで問題ありません)。
2) srcプロジェクト フォルダーにあるソースをコンパイルし、.class ファイルをbinディレクトリに配置します。
このantスクリプトを実行すると、次のエラーメッセージが表示されるため、ここで問題が発生します。
Buildfile: /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/build.xml
clean:
[delete] Deleting directory /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/bin
compile:
[mkdir] Created dir: /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/bin
[javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/build.xml:22: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 35 source files to /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/bin
[javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/src/com/techub/crystalice/xmlhandler/Settings.java:12: package org.apache.log4j does not exist
[javac] import org.apache.log4j.Logger;
[javac] ^
[javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/src/com/techub/crystalice/xmlhandler/Settings.java:14: package com.adamtaft.eb does not exist
[javac] import com.adamtaft.eb.EventBusService;
[javac] ^
[javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/src/com/techub/crystalice/xmlhandler/Settings.java:26: cannot find symbol
[javac] symbol : class Logger
[javac] location: class com.techub.crystalice.xmlhandler.Settings
[javac] public static final Logger logger = Logger.getLogger("gui");
[javac] ^
[javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/src/com/techub/crystalice/xmlhandler/Utils.java:9: package org.apache.log4j does not exist
[javac] import org.apache.log4j.Logger;
[javac] ^
[javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/src/com/techub/crystalice/xmlhandler/Utils.java:16: cannot find symbol
[javac] symbol : class Logger
[javac] location: class com.techub.crystalice.xmlhandler.Utils
[javac] private static final Logger logger = Logger.getLogger("gui");
[javac] ^
[javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/src/com/techub/crystalice/xmlhandler/Settings.java:26: cannot find symbol
[javac] symbol : variable Logger
[javac] location: class com.techub.crystalice.xmlhandler.Settings
[javac] public static final Logger logger = Logger.getLogger("gui");
[javac] ^
[javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/src/com/techub/crystalice/xmlhandler/Settings.java:130: cannot find symbol
[javac] symbol : variable EventBusService
[javac] location: class com.techub.crystalice.xmlhandler.Settings
[javac] EventBusService.publish(new SettingsEvent(this, SettingsEventType.UPDATED));
[javac] ^
[javac] /home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/src/com/techub/crystalice/xmlhandler/Utils.java:16: cannot find symbol
[javac] symbol : variable Logger
[javac] location: class com.techub.crystalice.xmlhandler.Utils
[javac] private static final Logger logger = Logger.getLogger("gui");
[javac] ^
[javac] 8 errors
BUILD FAILED
/home/andrea/Documenti/XCloud/Implementazione/CrossPlatform/CrystalIceXMLHandler/Project/build.xml:22: Compile failed; see the compiler error output for details.
Total time: 1 second
これらのエラーが発生するのはなぜですか? どうすれば解決できますか?
TNX
アンドレア