簡體   English   中英

Ant + Tomcat部署“無法創建任務或類型部署”

[英]Ant + Tomcat deploy “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 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

到*〜/ .bash_profile *以嘗試通過這種方式包含catalina-ant.jar,但是似乎沒有任何效果。

有什么想法我搞砸嗎?

除了在Ant類路徑中包含Tomcat類之外,您還需要使用taskdef任務(將其放置在build.xml的頂部)定義“部署”任務,以使Ant在build.xml文件中識別它。

在build.xml中定義路徑和屬性與類路徑完全無關(當處理build.xml時,JVM已經在運行)。

將文件夾放在類路徑中可能沒有用(您需要在該類路徑中包含該文件夾中的jar存檔)。

而且,不能保證Ant會關心CLASSPATH環境變量。 您必須檢查並可能更改Ant啟動腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM