2013-05-22 76 views
3

我想用螞蟻更新我的代碼庫。我已經將svnant.jar,svnClientAdapter.jar,svnjavahl.jar放在ANT_HOME \ lib目錄下。我正在使用下面的代碼段,它給出了錯誤。svn螞蟻 - 名稱是未定義的

問題:未能創建任務或鍵入svnSetting
原因:名稱未定義。
操作:檢查拼寫。
操作:檢查是否聲明瞭任何自定義任務/類型。
操作:檢查是否發生任何<presetdef>/<macrodef>聲明。

<path id= "svnant.classpath" > 
    <fileset dir= "${antlib.dir}" > 
     <include name= "*.jar" /> 
    </fileset> 
</path> 
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" /> 

<target name="init-svn"> 
<svnSetting svnkit="false" javahl="true" username="***" password="****" id="svn.settings" />  
</target> 

<target name="update-source" depends="init-svn"> 
     <svn refid="svn.settings" > 
      <update dir="${basedir}" revision="HEAD" url="${svn.url}"/> 
     </svn> 
</target> 

有人可以幫我嗎?

+0

可能重複(http://stackoverflow.com/questions/7913561/define-svnsetting - 全球) – paulsm4

+0

全球定義它。仍然有同樣的問題。 – Sujith

+0

簽出以下替代svnant任務:http://stackoverflow.com/questions/16305315/the-svn-client-svnkit-is-not-available/16310312#16310312 –

回答

2

我想你沒有在任何地方定義屬性antlib.dir。所以你在這裏爲taskdef建立一個空的類路徑。

其實如果你把你的罐子放到ANT_HOME \ lib中,你不需要爲你的taskdef建立一個類路徑。只要做到:

<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" /> 

而且可以肯定的螞蟻正確地看到你的罐子,只要運行ant -diagnostics

的[定義全球svnSetting]
+0

我改變了這樣的螞蟻文件: 我添加了您的更改,但仍然存在相同的問題。然後刪除包含svnSetting的「init-svn」目標。修改代碼如下。現在它顯示,無法找到javahl,svnkit和命令行svn client \t \t <更新DIR = 「$ {BASEDIR}」 修訂版= 「HEAD」 URL = 「$ {svn.url}」/> Sujith

+0

你檢查你的罐子是由'ant-diiagnostics'列出的? –

+0

是的。他們在那裏被螞蟻診斷列出 – Sujith