我運行了以下方案:螞蟻使得Java代碼生成和使用soscmd API /工具,它檢索從的SourceSafe系統資源。我知道他們是緊密結合的。我使用的Ant版本是1.6。因此,該版本不支持Subversion。我的Subversion服務器作爲服務運行在遠程機器上,我希望Ant能夠使用Subversion檢索源文件。我會怎麼做?Subversion和Ant集成
1
A
回答
4
使用這裏提供的SvnAnt任務 - http://subclipse.tigris.org/svnant.html
3
一旦你得到了svnant的東西,這些細節可以幫助你的方式休息。
我最常做的是從提取搶以下JAR:
- svnant.jar
- svnClientAdapter.jar
- svnjavahl.jar
,並將它們添加到文件夾在我的項目中,不是得到部署(即 - 他們只是由構建使用,而不是運行時)。
然後到我的Ant腳本我補充一下:
<path id="svntask.classpath">
<fileset dir="nonruntime_lib/svn">
<include name="*.jar"/>
</fileset>
</path>
然後:
<!-- SVN typedef -->
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
classpathref="svntask.classpath"/>
,然後讓我添加任務調用類似:
<!-- svn export the web root & java -->
<svn>
<export srcUrl="http://your.svn/web" destPath="dist/web"/>
<export srcUrl="http://your.svn/src" destPath="tmp/src"/>
</svn>
不知道如果你需要所有那些JARs,但是「他們爲我工作」。祝你好運,並隨時回覆其他問題/情況。
編輯
我不知道這是否與Subversion 1.7(我跑1.6)。
好了,所以這只是一個部分解決方案。出於某種原因,除了上面的註釋之外,我還需要確保安裝了SilkSVN。我不確定這是爲什麼。不幸的是,我現在沒有時間去調查。
1
什麼的兩個答案下面所提到的,你可以使用SvnAnt;我建議將SvnKit指定爲SvnAnt任務的svn客戶端。
SvnKit是哪個OS所使用的流行的GUI svn客戶端的SmartSVN作爲鹼純Java svn客戶端。所以如果你想寫自己的任務,或者只是使用一些beanshell集成,你應該嘗試svnkit。它也可用於Windows,Linux,Mac OS ...只要你有JRE。
P.S.
我曾經是一個SvnAnt用戶,但現在我使用自己的代碼來調用本地svn客戶端,因爲我只需要使用「svn info」和「svn update」。
我使用exec來調用本地的Linux svn客戶端更新後車廂:
<exec executable="svn" dir="${trunk.dir}" failonerror="true">
<arg line="update -r ${to.rev} --username ${trunk.user} --password ${trunk.passwd} --depth infinity" />
</exec>
我用進程生成叫「SVN信息」,並從輸出獲得的實際版本號(一個定製Ant任務):
//java code for ant task
public void execute() throws BuildException {
//varible verifying codes ignored......
ProcessBuilder pb = new ProcessBuilder("svn","info");
//The native "svn" client doesn't support symbol link, so run it in the directory instead of specifying the directory as svn info's parameter.
pb.directory(_dirToTrunk);
//Make sure the output is English.
Map<String, String> env = pb.environment();
env.put("LANGUAGE","en_US.UTF-8:en");
Process p = null;
try {
p = pb.start();
//then get the output and parse the svn revision number.
}
//catch codes ignored
}
希望這會有所幫助。
相關問題
- 1. Eclipse和Ant集成
- 2. Subversion 1.7.5和svn-ant 1.3
- 3. ant/maven集成
- 4. Subversion(svn)與Apache的集成?
- 5. IBM Process Designer與Subversion集成
- 6. VS2010與Subversion的集成
- 7. 將Jasmin集成到Ant和Eclipse中
- 8. eclipse ant集成和代碼格式化
- 9. JBoss Arquillian與Apache Ant和Junit的集成
- 10. Ubuntu subversion ANT構建問題
- 11. Junit Ant集成問題
- 12. Java -Ant集成問題
- 13. 我可以使用與Subversion 1.7的Delphi XE2 Subversion集成嗎
- 14. Subversion集成票務/跟蹤系統?
- 15. 使用Ant檢出一個Subversion文件
- 16. 我的第一個Ant-Subversion Bamboo計劃
- 17. 如何使用Ant集成Amazon Game Circle?
- 18. jenkins中的Ant-Junit集成錯誤
- 19. Sonar ANT任務集成錯誤
- 20. 用於Eclipse的Ant文檔集成
- 21. 在Eclipse中集成Java項目與Ant
- 22. 讓TeamCity將Subversion版本號集成到程序集版本
- 23. cobertura和ant的集成代碼覆蓋率
- 24. 爲REST API集成聲明和ant文檔
- 25. 集成Junit和Ant的另一個簡單問題
- 26. 如何在Jenkins中集成Ant與Checkstyle和PMD插件
- 27. 從Subversion生成更改日誌日誌並與Jira集成
- 28. 是否有可用於集成SQL代碼和Subversion版本的工具/技術?
- 29. Subversion和AuthzSVNGroupsFile
- 30. Subversion和OAuth
是否與Subversion 1.7版本兼容? – lexeme 2011-12-16 14:32:12
SvnAnt的一個問題是...如果使用本地客戶端,它將不支持符號鏈接,因爲本地客戶端不支持它。 – coolcfan 2011-12-19 08:38:36