NullPointerException 调用 SvnAnt's Copy.setRevision



我正在尝试使用Java执行SVN复制操作(从分支创建标签(。

我得到以下例外。

"线程中的异常" main" java.lang.nullpointerexception

在org.tigris.subversion.svnant.svnfacade.getfacade(未知来源(

在org.tigris.subversion.svnant.svnfacade.getsetting(未知来源(

at org.tigris.subversion.svnant.svnfacade.getDateFormatter(未知来源(

at org.tigris.subversion.svnant.commands.svncommand.getDateFormatter(未知来源(

atorg.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();

svnant设计用于从蚂蚁脚本中使用。但是,看来您正在尝试与Java代码进行颠覆。

svnkit是从Java应用程序中访问颠覆功能的更好方法。

这是创建颠覆标签的示例:

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); 

请参阅SVNKIT的入门。

相关内容

  • 没有找到相关文章

最新更新