Подтвердить что ты не робот

Не удается найти javahl, svnkit или командной строки svn client

Я выполнил множество настроек svn/ ant, но на этот раз не могу понять, что неправильно.

Использование Linux,

svn 1.6.6
ant 1.8.2
svnant 1.3.1

Я скопировал файлы svnant jar в $ANT_HOME/lib

[email protected]:~/apps/apache-ant-1.8.2/lib$ ls -l
-rw-r--r-- 1 root root  244831 2011-06-23 07:55 ganymed.jar
-rw-r--r-- 1 root root  948100 2011-06-23 07:55 jna.jar
-rw-r--r-- 1 root root   76383 2011-06-23 07:55 svnant.jar
-rw-r--r-- 1 root root  215757 2011-06-23 07:55 svnClientAdapter.jar
-rw-r--r-- 1 root root   89412 2011-06-23 07:55 svnjavahl.jar

и т.д...

Мой файл сборки указывает:

<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask"   />

Но всякий раз, когда я выполняю

   <target name="update">
                <svn>
                        <update dir="."/>
                </svn>
        </target>

Я получаю страшное:

update:
      [svn] Missing 'javahl' dependencies on the classpath !

BUILD FAILED
/home/top/apps/utils/build.xml:26: Cannot find javahl, svnkit nor command line svn client

Любые идеи, что я делаю неправильно?

Я предполагал, что копирование svnant jars в $ANT_HOME/lib должно быть достаточно?

4b9b3361

Ответ 1

Для пути Javahl всегда нужен какой-то зависимый от ОС драйвер. Это в основном трудно настроить, и я не рекомендую использовать его.

Вам следует попробовать использовать svnkit:

<svn svnkit="true">

Это использует чистую библиотеку java, но нуждается в svnkit.jar для того, чтобы быть в пути к классам.

Ссылки:

Я использую только версию fallback/commandline, где исполняемый файл svn находится в PATH. Это работает в большинстве случаев без проблем со следующими настройками:

<svn svnkit="false" javahl="false">

Примечание. Эти настройки предназначены для svnant 1.31 и ранее. Начиная с версии 1.32 вы можете использовать <svnSetting />, который описан в другом ответе

Ответ 2

По состоянию svnant 1.3.2 атрибуты svnkit и javahl устарели. Альтернативой является использование задачи svnSetting.

Поместите эту задачу в файл сборки где-нибудь:

<svnSetting
    svnkit="false"
    javahl="false"
    id="svn.settings"/>

Затем, когда вы вызываете задачу svn, используйте ее таким образом (обратите внимание на атрибут refid):

<target name="doingSomethingAwesome">
    <svn refid="svn.settings">
        <!-- do something -->
    </svn>
</target>

Надеюсь, что это помогает, сделал меня.

ССЫЛКА

Ответ 3

Если вы получаете "Не можете найти javahl, svnkit или командной строки svn client", то вы должны убедиться, что путь svn установлен или нет: для exa: путь = c:\svn\bin;