首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用svnant缺少类路径上的svnkit依赖项

使用svnant缺少类路径上的svnkit依赖项
EN

Stack Overflow用户
提问于 2012-05-23 13:35:42
回答 1查看 13.3K关注 0票数 5

我正试图让svnkitsvnant一起工作。

这是我的构建文件:

代码语言:javascript
复制
<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>

在运行此构建文件时,我会得到以下错误。svnkit.jarganymed.jar位于我的ant/lib目录中,我在类路径中包含的其他内容也是如此。我做错什么了?

代码语言:javascript
复制
svnTest:
      [svn] Missing 'svnkit' dependencies on the classpath !

BUILD FAILED
build.xml:53: Cannot find javahl, svnkit nor command line svn client

详细错误:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-23 13:56:00

您缺少了svnkit所需的ganymed.jarjavahl.jar。此信息来自guide

svnkit

svnkit绑定纯粹基于java。使用此绑定需要将jar svnkit.jar用于svnant声明。您还需要ganymed.jar,它为基于SSH的通信提供了必要的功能。

ganymed.jar是svnant下载的一部分,也可以下载here

通过类路径和taskdef配置svnant

这是类路径的一个正确的und功能版本,所有lib都位于svnlib文件夹中,该文件夹相对于

代码语言:javascript
复制
  <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>

ANT_HOME/lib中的所有lib

如果在ANT_HOME/lib中拥有所有必需的库,则只需使用以下命令:

代码语言:javascript
复制
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" /> 
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10721104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档