从java代码中读取SVN(Subclipse)版本号

从java代码中读取SVN(Subclipse)版本号,java,eclipse,svn,subclipse,javahl,Java,Eclipse,Svn,Subclipse,Javahl,我希望能够从Java代码中读取当前的svn修订号(我正在使用Subclipse),并将其与使用JUnit4编写的回归测试中需要的其他内容一起输出 我在谷歌上搜索了很多,但没有任何运气(一些信息指向javahl.jar,但我无法找出任何对我的案例有用的信息),我也试图自己找出答案,但再次没有运气 环境: Eclipse版本:3.6.2,构建id:M2011020-1200 Windows 7 32位 第1.6.18小节(JavaHL 1.6.17) 如果可能的话,我希望避免直接读取.snv文件

我希望能够从Java代码中读取当前的svn修订号(我正在使用Subclipse),并将其与使用JUnit4编写的回归测试中需要的其他内容一起输出

我在谷歌上搜索了很多,但没有任何运气(一些信息指向javahl.jar,但我无法找出任何对我的案例有用的信息),我也试图自己找出答案,但再次没有运气

环境:

  • Eclipse版本:3.6.2,构建id:M2011020-1200
  • Windows 7 32位
  • 第1.6.18小节(JavaHL 1.6.17)
如果可能的话,我希望避免直接读取.snv文件并获得一个“干净”的解决方案,因为我必须将此代码留给其他人

提前感谢,, 亚历山德罗

有一个图书馆“svnkit”-svnkit.com

在wikipage上有很多例子,其中之一是“获取工作副本项目的信息”

还可以在项目的源代码中找到如何使用它的示例

我将研究SVNKit,尤其是方法。

我发现即使我解决了问题,问题仍然存在,我在这里发布代码以澄清问题,即使它已经插入到commet中:

import org.tigris.subversion.javahl.*;
[...]

SVNClient svnClient = new SVNClient();
@SuppressWarnings("deprecation")
Status [] status = svnClient.status("absolutepathOfTheProject", true, false, true);

for(Status stat : status)
revNumber = (revNumber < stat.getRevisionNumber()) ? stat.getRevisionNumber() : revNumber;
import org.tigris.subversion.javahl.*;
[...]
SVNClient SVNClient=新的SVNClient();
@抑制警告(“弃用”)
Status[]Status=svnClient.Status(“AbsolutePathFtheProject”,真、假、真);
用于(状态统计:状态)
revNumber=(revNumber

请注意,此存根使用了一些不推荐的方法,当然可以用其他方法替换它们,但这是解决原始问题的指导原则。

谢谢您的回答!与此同时,我设法让它以这种方式工作(我知道我应该避免使用不推荐的方法,但我真的很着急,因为现在一切都会好起来):
import org.tigris.subversion.javahl.*;[…]SVNClient SVNClient=新的SVNClient()@SuppressWarnings(“弃用”)状态[]状态=svnClient.Status(“AbsolutePathFtheProject”,真、假、真);对于(Status stat:Status)revNumber=(revNumber