0

Linuxのubuntuでbuild.xmlを実行すると、svnからプロジェクトをチェックアウトする必要があり、次のエラーが発生します。-

svn:

BUILD FAILED
java.net.MalformedURLException: Invalid svn url: svn://xxx-xx-xx-xx-xx.compute-1.amazonaws.com/srv/svn
    at org.tigris.subversion.svnclientadapter.SVNUrl.parseUrl(SVNUrl.java:117)
    at org.tigris.subversion.svnclientadapter.SVNUrl.<init>(SVNUrl.java:63)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at org.apache.tools.ant.IntrospectionHelper$11.set(IntrospectionHelper.java:1069)
    at org.apache.tools.ant.IntrospectionHelper.setAttribute(IntrospectionHelper.java:388)
    at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:392)
    at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:349)
    at org.apache.tools.ant.UnknownElement.handleChild(UnknownElement.java:568)
    at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:346)
    at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:198)
    at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:160)

実際、svnのパスは、ローカルボックスから接続するものです。ですから、ここでどのような道をたどるべきかわかりません。svnは同じLinuxボックスにあります。

build.xmlがどこにあるか私のディレクトリパス:-/ home / ubuntu / antCheckoutそしてsvnがどこにあるか:-/ srv / svn

私もこのパスを試しました:-ssh:// srv / svnが、例外は同じでした。

これは私のbuild.xmlです:-

<?xml version="1.0"?>
<project name="Test" default="Main" basedir=".">
 <!-- Sets variables which can be used. -->
  <property name="checkout" location="./svncheckout" />
 <!-- Define the classpath which includes the jars 
      that are required for svnant.jar -->
 <path id="/usr/local/ant/apache-ant-1.7.1/">
  <pathelement location="lib/svnant.jar" />
  <pathelement location="lib/svnClientAdapter.jar" />
  <pathelement location="lib/svnjavahl.jar" />
  <pathelement location="lib/svnkit.jar" />
 </path>

 <typedef resource="org/tigris/subversion/svnant/svnantlib.xml"     
      classpathref="/usr/local/ant/apache-ant-1.7.1/" />


 <!-- Deletes the existing build, docs and dist directory-->
 <target name="clean">
  <delete dir="${checkout}" />
 </target>

 <!-- Creates the  build, docs and dist directory-->
 <target name="makedir">
  <mkdir dir="${checkout}" />
 </target>


 <!-- Checkout the latest source code of svnant itself-->
 <target name="svn">
  <svn username="guest" password="">
   <checkout url="svn://srv/svn" revision="HEAD" destPath="${checkout}" />
  </svn>
 </target>

 <target name="Main" depends="clean, makedir, svn">
  <description>Main target</description>
 </target>
</project>

手伝ってくれてありがとう。

4

1 に答える 1

1

Linux を使用している場合、Subversion コマンド ライン クライアントはありますか?

これを試して:

$ svn --version

Subversion コマンド ライン クライアントを使用している場合は、次のコマンドを試してください。

$ svn ls svn://svn/srv

そして、あなたが得るものを見てください。svn://srv/svn見つからないか、有効な URL ではないというエラーが表示されるはずです。

この行:

<checkout url="svn://srv/svn" revision="HEAD" destPath="${checkout}" />

コマンドラインと同等です:

$ svn checkout -rHEAD svn://srv/svn .svncheckout

このコマンドが機能する前に、有効な Subversion リポジトリ URL を見つける必要があります。次に、その URL に一致するようにサブタスクのurlパラメーターを変更します。<checkout>Subversion は、URL を使用してリポジトリ アドレスを指します。

ところで、これは一体何をしているのだろう?これが作業ディレクトリをディレクトリにチェックアウトするのはなぜ.svncheckoutですか? これは Unixの隠しディレクトリです。


ところで、プログラムがローカル システムで実行されていsvn co svn://127.0.0.1ないと機能しません。プログラムsnvserve_svnserve

于 2013-02-08T15:41:55.047 に答える