首页 文章

Ant Tomcat部署“无法创建任务或类型部署”

提问于
浏览
0

我正在继承一个我需要维护的项目,并尝试将Ant部署到我的localhost上的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>

和$ 定义为:

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

我的设置如下:

  • MAC OS X 10.8.4

  • Tomcat 7.0.42.0(通过Homebrew安装)

  • Java 1.6.0_51

  • Apache Ant 1.8.4

我尝试从命令行运行ant deploy任务,并且还添加了

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

to *〜/ .bash_profile *尝试以这种方式包含catalina-ant.jar,但似乎没有任何效果 .

什么想法我搞砸了?

1 回答

  • 1

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

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

    将文件夹放在类路径中可能没用(您需要在类路径中包含jar文件在该文件夹中) .

    而且,无法保证Ant关心CLASSPATH环境变量;您必须检查并可能更改Ant启动脚本 .

相关问题