Linux下基于Ant的SVN校验
当我在linux ubuntu中运行build.xml时,它应该从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
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