Linux下基于Ant的SVN校验

Linux下基于Ant的SVN校验,linux,svn,ant,Linux,Svn,Ant,当我在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

当我在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:
构建失败
java.net.MalformedURLException:无效的svn url:svn://xxx-xx-xx-xx-xx.compute-1.amazonaws.com/srv/svn
位于org.tigris.subversion.svnclientadapter.SVNUrl.parseUrl(SVNUrl.java:117)
位于org.tigris.subversion.svnclientadapter.SVNUrl。(SVNUrl.java:63)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于org.apache.tools.ant.IntrospectionHelper$11.set(IntrospectionHelper.java:1069)
位于org.apache.tools.ant.IntrospectionHelper.setAttribute(IntrospectionHelper.java:388)
位于org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:392)
位于org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:349)
位于org.apache.tools.ant.UnknownElement.handleChild(UnknownElement.java:568)
位于org.apache.tools.ant.UnknowneElement.handleChildren(unknowneElement.java:346)
位于org.apache.tools.ant.UnknowneElement.configure(unknowneElement.java:198)
位于org.apache.tools.ant.UnknowneElement.maybeConfigure(unknowneElement.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>

主要目标

谢谢你的帮助。

如果你在Linux上,你有Subversion命令行客户端吗

试试这个:

$ svn --version
如果您有Subversion命令行客户端,请尝试以下命令:

$ svn ls svn://svn/srv
看看你能得到什么。我打赌告诉你
svn://srv/svn
找不到或不是有效的URL

这一行:

<checkout url="svn://srv/svn" revision="HEAD" destPath="${checkout}" />
您必须找到有效的Subversion存储库URL,此命令才能工作。然后,更改
子任务中的
url
参数以匹配该url。Subversion使用URL指向存储库地址

顺便问一下,这到底是怎么回事?为什么要将工作目录签出到
.svncheckout
目录?这是Unix中的一个隐藏目录



顺便说一下:
svn公司svn://127.0.0.1除非程序
snvserve
在本地系统上运行,否则
将无法工作。
svnserve
程序

可以从命令行签出吗?类似于:
svn公司https://srv/svn
Khez我尝试了以下路径:-svn://srv/svn/ 它给出:-svn:[svn]开始。。。[svn]svn:未知主机srv[svn]svn:未知主机srv[svn]srv[svn]失败!我认为这不是srv的专利。build.xml所在的我的目录路径是:-/home/ubuntu/antCheckout,svn所在的路径是:-/srv/svn?忘记ant吧,命令行。你说它在同一台机器上。。。因此,只需运行
svn checkout
并向我们提供报告。我们无法进一步帮助您。您需要找出SVN存储库的位置。另外,它可以是svn://http://https://proto方案是可配置的。。。
$ svn checkout -rHEAD svn://srv/svn .svncheckout