【发布时间】:2013-10-10 12:50:06
【问题描述】:
我是 Ant 的新手(我来自 Maven),我发现使用这个简单的 Ant 脚本编译位于 Eclipse 工作区中的 Java 项目有些困难:
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 个目录删除到我的项目中(这部分运行良好)
另一个目标名为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
安德烈亚
【问题讨论】: