2017-05-02 78 views
0

我想使用Java執行SVN複製操作(從分支創建標記)。NullPointerException調用SvnAnt的Copy.setRevision

我收到以下異常。

「異常在線程 「主」 顯示java.lang.NullPointerException

在org.tigris.subversion.svnant.SvnFacade.getFacade(未知來源)

在org.tigris.subversion.svnant .SvnFacade.getSetting(未知來源)

在org.tigris.subversion.svnant.SvnFacade.getDateFormatter(未知來源)

在org.tigris.subversion.svnant.commands.SvnCommand.getDateFor物(來源不明)

在org.tigris.subversion.svnant.commands.SvnCommand.getRevisionFrom(來源不明)

在org.tigris.subversion.svnant.commands.Copy.setRevision(來源不明)

在svnOperation.createTags.commitTags(createTags.java:55)

在svnOperation.createTags.main(createTags.java:23)」

我使用的是最新的SVN JAR文件。

有人可以請建議如何糾正這個或我在這裏做什麼錯誤。

這裏是我的代碼:

Project p = new Project(); 
p.setProperty("username", "automation"); 
p.setProperty("password", "automation"); 
p.setProperty("javahl", "true"); 
p.setProperty("javahl", "true"); 
SvnTask svn = new SvnTask(); 

Copy C1 = new Copy(); 

C1.setDescription("Creating tags"); 
C1.setSrcUrl(new SVNUrl("SrcUrl")); 
C1.setDestUrl(new SVNUrl("DestUrl")); 
C1.setMessage("message"); 
C1.setRevision("1234"); 
C1.setProject(p); 

svn.addCopy(C1); 
svn.setProject(p); 
svn.execute(); 
+0

可能重複[什麼是NullPointerException,以及如何解決它?](http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-doi-i-fix - 它) – Rafael

回答

0

SvnAnt被設計爲從Ant腳本使用。但是,它似乎是在嘗試使用Java代碼與Subversion進行交互。

SVNKit是從Java應用程序中訪問Subversion功能的更好方法。

下面是一個創建的Subversion標籤的一個示例:

SVNCopyClient copyClient = 
    SVNClientManager.newInstance().getCopyClient(); 

SVNURL srcURL = SVNURL.parseURIEncoded("http://example.com/repos/trunk"); 
SVNURL dstURL = SVNURL.parseURIEncoded("http://example.com/repos/tags/tag"); 
SVNCopySource copySource = 
    new SVNCopySource(SVNRevision.HEAD, SVNRevision.HEAD, srcURL); 

copyClient.doCopy(new SVNCopySource[] {copySource}, dstURL, 
    false, false, true, "message", null); 

更多見Getting Started With SVNKit

+0

嗨乍得努斯感謝您的建議我們。 –

+0

我們在svn url中添加了Authentication,並且我們在線程「main」中面對異常org.tmatesoft.svn.core.SVNException:svn:未找到文件:修訂版本1540882,路徑'srcURL' svn:'/ svn/sag /! svn/bc/1540882/srcURL找不到路徑:404 Not Found(http://svnva.ame.ad.sag:1818)。請讓我知道是否需要添加任何東西來將srcURL複製到dstURL。 –

+0

Authentication'DAVRepositoryFactory.setup(); \t \t SVNRepository repository = null; \t \t repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(「Repository URL」)); ISVNAuthenticationManager authManager = SVNWCUtil。createDefaultAuthenticationManager(「auto」,「auto」); repository.setAuthenticationManager(authManager);' –

相關問題