我下载并安装了SVNAnt 1.3.0,Ant 1.8和Java 1.6。
当我尝试通过https进行简单的结账时,我得到一个java.lang.NoClassDefFoundError:com / trilead / ssh2 / InteractiveCallback。我不确定为什么它使用的是ssh类,因为我使用的是https。
Trilead SSH for Java似乎不再受支持或分发,我无法访问旧版本的trilead.jar。
如果没有trilead.jar,其他人如何使用SVNAnt?有人建议追求任何其他选择吗?这是我的构建脚本。项目的开放标记和结束标记没有正确复制,但是当我在本地框中执行它时,它们就在那里。
更新我在一些谷歌搜索之后能够在另一个项目的svn存储库中找到trilead.jar,它确实修复了NoClassDefFoundError这太糟糕了,Trilead不会分发jar。
<?xml version="1.0"?>
<property name="svn.base" value="C:\Program Files\svnant\svnant-1.3.0"/>
<property name="svn.lib" value="${svn.base}/lib"/>
<property name="username" value="user"/>
<property name="password" value="password"/>
<path id="svnant.classpath" >
<fileset dir= "${svn.lib}" >
<include name= "*.jar" />
</fileset>
</path>
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" />
<target name="checkout">
<svn username="${username}" password="${password}" >
<checkout url="https://svn-server/svn/project" destPath="C:\SVNRepositories\checkout" />
</svn>
</target>
答案 0 :(得分:2)
答案 1 :(得分:1)
我必须从svnant类路径中删除svnkkit.jar。我使用subant进行多次检出,第二次检出使用svnkit而不是javahl。这适用于ant 1.7,java6和svnant 1.30。
<path id="svnant.classpath">
<fileset dir="./buildBinaries/svnant-1.3.0/lib">
<include name="*.jar" />
<exclude name="svnkit.jar"/>
</fileset>
</path>
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" />
答案 2 :(得分:0)
我在设置SVNAnt时遇到了类似的问题。我写了一篇描述如何解决问题的博文: