pro*_*007 5 svn ant svnkit svnant
我正努力svnkit与之合作svnant.
这是我的构建文件:
<path id="svnant.classpath">
<pathelement location="${env.ANT}/../lib/svnant.jar"/>
<pathelement location="${env.ANT}/../lib/svnClientAdapter.jar"/>
<pathelement location="${env.ANT}/../lib/svnkit.jar"/>
<pathelement location="${env.ANT}/../lib/ganymed.jar"/>
</path>
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" />
<svnSetting
svnkit="true"
javahl="false"
id="svn.settings"/>
<target
name="svnTest">
<svn refid="svn.settings">
<wcversion
path="${basedir}\..\"
prefix="svn."
/>
<info
target="${basedir}\..\"
propPrefix="svn.info."/>
</svn>
</target>
Run Code Online (Sandbox Code Playgroud)
运行此构建文件时,我收到以下错误.svnkit.jar并且ganymed.jar在我的ant/lib目录中,我包含在类路径中的其他内容也是如此.我究竟做错了什么?
svnTest:
[svn] Missing 'svnkit' dependencies on the classpath !
BUILD FAILED
build.xml:53: Cannot find javahl, svnkit nor command line svn client
Run Code Online (Sandbox Code Playgroud)
详细错误:
repoCheckDev:
[svn] Missing 'svnkit' dependencies on the classpath !
BUILD FAILED
build.xml:line#: Cannot find javahl, svnkit nor command line svn client
at org.tigris.subversion.svnant.SvnFacade.getClientAdapter(Unknown Source)
at org.tigris.subversion.svnant.SvnTask.executeImpl(Unknown Source)
at org.tigris.subversion.svnant.SvnTask.execute(Unknown Source)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Run Code Online (Sandbox Code Playgroud)
您是缺少ganymed.jar和javahl.jar需要哪些svnkit.此信息来自指南:
svnkit
svnkit绑定纯粹基于java.使用此绑定需要jar svnkit.jar用于svnant声明.您还需要ganymed.jar,它为基于SSH的通信提供必要的功能.
ganymed.jar是svnant下载的一部分或可以在这里下载
这是类路径的正确和不正常运行的版本,所有库都在相对于的svnlib文件夹中
<path id="svnant.classpath">
<pathelement location="svnlib/svnant.jar"/>
<pathelement location="svnlib/svnClientAdapter.jar"/>
<pathelement location="svnlib/svnkit.jar"/>
<pathelement location="svnlib/ganymed.jar"/>
<pathelement location="svnlib/svnjavahl.jar"/>
</path>
Run Code Online (Sandbox Code Playgroud)
如果您在ANT_HOME/lib中拥有所有必需的库,则只需使用以下命令:
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
Run Code Online (Sandbox Code Playgroud)