我正在尝试使用ant更新我的代码库。我已经把svnant.jar, svnClientAdapter.jar, svnjavahl.jar放在ANT_HOMElib目录下。我使用下面的代码片段,它给出了错误。
问题:创建任务或类型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>
有人能帮我一下吗? 我猜你没有在任何地方定义属性antlib.dir
。因此,在这里为taskdef
构建一个空类路径。
实际上,如果你把你的jar放到ANT_HOMElib中,你不需要为你的taskdef
构建一个类路径。只做:
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
并且为了确保Ant正确地看到您的jar,只需运行ant -diagnostics