我正在尝试使用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的入门。