蚂蚁+雄猫部署"failed to create task or type deploy"



我继承了一个需要维护的项目,并试图将Ant部署到在本地主机上运行的Tomcat。当我运行部署任务时,我会得到以下错误:

BUILD FAILED
/.../build.xml:69: Problem: failed to create task or type deploy
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

我试着四处查看其他有同样问题的人,发现常见的问题与CLASSPATH和缺少catalina-ant.jar.有关

我将catalina-ant.jar添加到我的项目中的一个名为lib-exec的文件夹中,在我的build.xml中,这些jar加载有:

<path id="project.classpath">
    <fileset dir="${libDirectory}" includes="**/*.jar" />
    <fileset dir="${extLibDirectory}" includes="**/*.jar" />
</path>

并且${extLibDirectory}被定义为:

<property name="extLibDirectory" location="ext-lib" />

我的设置如下:

  • MAC操作系统X 10.8.4
  • Tomcat 7.0.42.0(通过Homebrew安装)
  • Java 1.6.0_51
  • Apache Ant 1.8.4

我尝试从命令行运行蚂蚁部署任务,还添加了

export CLASSPATH=$CLASSPATH:/usr/local/Cellar/tomcat/7.0.42/libexec/lib

到*~/.bash_profile*尝试以这种方式包含catalina-ant.jar,但似乎什么都不起作用。

你知道我搞砸了什么吗?

除了在Ant类路径中包含Tomcat类之外,还需要定义"deploy"任务,让Ant使用taskdef任务(将其放在build.xml的顶部)在build.xml文件中识别它

在build.xml中定义路径和属性与类路径完全无关(当处理build.xml时,JVM已经在运行)。

将文件夹放在类路径中可能是无用的(您需要在类路径中将jar归档文件包含在该文件夹中)。

此外,不能保证Ant关心CLASSPATH环境变量;您必须检查并可能更改Ant启动脚本。

相关内容

最新更新