[英]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" />
我的設置如下:
我嘗試從命令行運行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.