2017-05-02 20 views
0

Java를 사용하여 SVN 복사 작업 (분기에서 태그 만들기)을 수행하려고합니다.SvnAnt의 Copy.setRevision을 호출하는 NullPointerException

아래 예외가 발생합니다.

"스레드에서 예외"주 "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 (알 수없는 소스)에서

나는 최신 SVN의 JAR 파일을 사용하고 svnOperation.createTags.main (createTags.java:23)에서 svnOperation.createTags.commitTags (createTags.java:55)

"

에서

.

누군가가이 문제를 해결할 수있는 방법을 제안하거나 내가 여기서하고있는 실수를 제안 할 수 있습니까?

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-do-i-fix -it) – Rafael

답변

0

SvnAnt이 개미 스크립트에서 사용할 수 있도록 설계되었습니다 :

여기 내 코드입니다. 그러나 Java 코드로 Subversion과 상호 작용하려는 것 같습니다.

SVNKit은 Java 응용 프로그램 내에서 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

안녕하세요, Chad Nouis 님이 제안 해 주셔서 감사합니다. –

+0

svn url에 인증을 추가했으며 스레드 "main"org.tmatesoft.svn.core.SVNException에서 예외가 발생했습니다 : svn : 파일을 찾을 수 없습니다 : 수정 1540882, 경로 'srcURL' svn : '/ svn/sag /! svn/bc/1540882/srcURL '경로를 찾을 수 없습니다 : 404 찾을 수 없습니다 (http : //svnva.ame.ad.sag : 1818). srcURL을 dstURL에 복사하기 위해 추가해야 할 것이 있으면 알려 주시기 바랍니다. –

+0

인증 'DAVRepositoryFactory.setup(); \t \t SVNRepository repository = null; \t \t 저장소 = SVNRepositoryFactory.create (SVNURL.parseURIEncoded ("저장소 URL")); ISVNAuthenticationManager authManager = SVNWCUtil입니다.createDefaultAuthenticationManager ("auto", "auto"); repository.setAuthenticationManager (authManager); ' –