Java ANT 问题:net/sf/antcontrib/antcontrib.properties
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/4011749/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
ANT Problems: net/sf/antcontrib/antcontrib.properties
提问by Julio
I am attempting to install software onto my Debian Lenny server. Specifically, Capture-HPC. I have setup VMWare server, along with all the prerequisites. When I go to run ant in the directory, i get the following error:
我正在尝试将软件安装到我的 Debian Lenny 服务器上。具体来说,Capture-HPC。我已经设置了 VMWare 服务器以及所有先决条件。当我在目录中运行 ant 时,出现以下错误:
[taskdef] Could not load definitions from resource net/sf/antcontrib/antcontrib.properties. It could not be found.
Anyone have any ideas what is causing this? Details about my ant installation follow:
任何人都知道是什么导致了这种情况?有关我的 ant 安装的详细信息如下:
Apache Ant version 1.7.0 compiled on April 29 2008
Buildfile: build.xml
Detected Java version: 1.6 in: /usr/lib/jvm/java-6-sun-1.6.0.20/jre
Detected OS: Linux
And the build.xml file . . .
和 build.xml 文件。. .
<?xml version="1.0"?>
<project name="CaptureServer" xmlns:ac="antlib:net.sf.antcontrib" default="release" basedir=".">
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<condition property="os" value="unix">
<os family="unix"/>
</condition>
<condition property="os" value="windows">
<os family="windows"/>
</condition>
<property environment="env"/>
<property name="src" value="."/>
<property name="build" value="build"/>
<property name="lib" value="lib"/>
<property name="release" value="release"/>
<property name="classpath.build" value=".\lib\junit-4.4.jar"/>
<property name="classpath.run" value="lib/junit-4.4.jar"/>
<path id="classpath">
<fileset dir="${lib}">
<include name="*.jar"/>
</fileset>
</path>
<target name="init">
<mkdir dir="${build}"/>
<mkdir dir="${release}"/>
</target>
<target name="compile" depends="init">
<!-- Compile the java code -->
<javac srcdir="${src}" destdir="${build}" debug="true" debuglevel="lines,vars,source" classpath="${classpath.build}"/>
<!-- Compile the revert code -->
<if>
<equals arg1="${os}" arg2="windows" />
<then>
<exec executable="compile_revert_win32.bat"/>
</then>
<else>
<exec command="sh" executable="./compile_revert_linux.sh"/>
</else>
</if>
</target>
<target name="jar" depends="compile">
<mkdir dir="${build}/jar"/>
<jar destfile="${build}/jar/CaptureServer.jar" basedir="${build}">
<manifest>
<attribute name="Class-Path" value="${classpath.run}"/>
<attribute name="Main-Class" value="capture.Server"/>
</manifest>
</jar>
</target>
<target name="release" depends="clean,compile,jar">
<copy file="${build}/jar/CaptureServer.jar" todir="${release}"/>
<copy file="./COPYING" todir="${release}"/>
<copy file="./Readme.txt" todir="${release}"/>
<copy file="./preprocessor_README.txt" todir="${release}"/>
<copy file="./input_urls_example.txt" todir="${release}"/>
<copy file="./config.xsd" todir="${release}"/>
<copy file="./config.xml" todir="${release}"/>
<copy todir="${release}/${lib}">
<fileset dir="lib"/>
</copy>
<if>
<equals arg1="${os}" arg2="windows" />
<then>
<copy file="${env.VIX_HOME}/libeay32.dll" todir="${release}"/>
<copy file="${env.VIX_HOME}/ssleay32.dll" todir="${release}"/>
<copy file="${env.VIX_HOME}/vix.dll" todir="${release}"/>
<copy file="./revert.exe" todir="${release}"/>
</then>
<else>
<exec executable="cp">
<arg value="./revert"/>
<arg value="${release}"/>
</exec>
</else>
</if>
<zip destfile="./CaptureServer-Release.zip" basedir="release"/>
</target>
<target name="clean">
<delete dir="${build}"/>
<delete dir="${release}"/>
<delete>
<fileset dir="." includes="revert.exe"/>
<fileset dir="." includes="revert"/>
<fileset dir="." includes="CaptureServer-Release.zip"/>
</delete>
</target>
</project>
采纳答案by Synesso
This error message indicates that you are attempting to load a non-core task, but the resource which further defines the task is not present (or not where expected).
此错误消息表明您正在尝试加载非核心任务,但进一步定义该任务的资源不存在(或不在预期位置)。
See installation instructions here.
请参阅此处的安装说明。
You can either
你可以
- find/download the
ant-contrib
jar and put it into yourant
installation (as per option 1 in the link above); or - Modify your ant file (as per option 2 in the link above) to include the ant-contrib jar in a nested classpath.
- 找到/下载
ant-contrib
jar 并将其放入您的ant
安装中(根据上面链接中的选项 1);或者 - 修改您的 ant 文件(按照上面链接中的选项 2)以在嵌套的类路径中包含 ant-contrib jar。
回答by georgik
Solution for Linux/Debian:
Linux/Debian 的解决方案:
apt-get install ant-contrib
export CLASSPATH=/usr/share/java/ant-contrib.jar
回答by Alan Q.
Solution for Ubuntu:
Ubuntu的解决方案:
sudo apt-get install ant-contrib
sudo ln -s /usr/share/java/ant-contrib.jar /usr/share/ant/lib/
回答by Prasad Bhimaraju
Solution for CentOS/RHEL:
CentOS/RHEL 解决方案:
sudo yum install ant-contrib
须藤 yum 安装 ant-contrib