【问题标题】:missing svnkit dependencies on the classpath using svnant使用 svnant 在类路径上缺少 svnkit 依赖项
【发布时间】:2012-05-23 13:35:42
【问题描述】:

我正在尝试让 svnkitsvnant 合作。

这是我的构建文件:

<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 目录中,我在类路径中包含的其他内容也是如此。我做错了什么?

svnTest:
      [svn] Missing 'svnkit' dependencies on the classpath !

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

详细错误:

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)

【问题讨论】:

    标签: svn ant svnkit svnant


    【解决方案1】:

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

    svnkit

    svnkit 绑定是纯粹基于 java 的。使用此绑定需要 用于 svnant 声明的 jar svnkit.jar。你也 需要提供必要功能的 ganymed.jar 基于 SSH 的通信。

    ganymed.jar是svnant下载的一部分或者可以下载here

    通过classpath和taskdef配置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>
    

    ANT_HOME/lib 中的所有库

    如果您在 ANT_HOME/lib 中有所有所需的库,您可以简单地使用以下内容:

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

    【讨论】:

    • 我在 ant/lib 文件夹中添加了ganymed.jar,但它仍然不起作用。另外,添加了ganymed.jar 以查看是否有效,但仍然无效。
    • 是的,这就是我所说的“另外,添加了 ganymed.jar 以查看它是否有效,但它仍然无效。”但我没有在我的评论中正确地说出来。
    • 如果我的ant/lib 目录中有它们,我的类路径中是否需要它们?我将在激活详细模式的情况下尝试此操作,并尽快为您提供结果。
    • 向我的操作添加详细输出并更改操作以反映我所做的更改。
    • 我做了 Using svnant as an antlib 但没有成功。 Problem: failed to create task or type svnSetting。我将所有 jar 从svnant/lib 复制到我的ant/lib 目录中。
    猜你喜欢
    • 1970-01-01
    • 2018-04-06
    • 2017-12-25
    • 2015-04-18
    • 2020-03-24
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多