2013-05-10 37 views
0

我想创建一个命令行应用程序工具,将从SVN数据库下载项目。从命令行java应用程序subclipse API

我已经用java编写了代码。我已经调用了一个负责使用提供用户凭证来打开指定数据库的方法。 在这里,我需要SVNProviderPlugin实例来获取SVNClientManager,存储库和所有其他属性。

但是,对于非IDE应用程序,SVNProviderPlugin实例为null。

我想知道如何在使用Subclipse API的java命令行应用程序中检索SVNClientManager?

回答

0

尝试为此使用Subclipse没有任何意义。 Subclipse提供了一个名为SVNClientAdapter的API层,它是一个独立的,可用于任何Java应用程序。您可能会使用它,但我们不会轻松打包它。

我会考虑使用JavaHL或SVNKit,这是SVNClientAdapter用作包装的两种不同的SVN API实现。 IOW,只要你可以控制部署,就直接使用其中一个。或者,如果你需要的只是简单的结账,为什么不直接从Java运行SVN命令行呢?我用Java写了一个SVN Benchmark工具,它只是使用命令行。为什么不这样做很容易?使用JavaHL或SVNKit的唯一原因是,如果您确实需要深入的信息,则无法轻松离开命令行工具。

+0

谢谢你回复马克。实际上,我们已经使用eclipse开发了一个RCP产品。在这里,我们使用java代码来访问SVN API。我们使用了如下代码:“SVNProviderPlugin provider = SVNProviderPlugin.getPlugin(); ISVNClientAdapter svnClient = provider.getSVNClientManager()。 getSVNClient();” 现在,我们希望重复使用我们的命令行工具的代码,并做一些小的修改。这就是为什么我们需要获得SVNClientManager。但是,SVNProviderPlugin实例在cmd行应用程序中为null。所以,我们需要一些其他的选择。 – user2369050 2013-05-13 04:59:05

+0

如果您还没有这样做,我可能会将您的命令行应用程序构建为无头Eclipse应用程序,以便您可以通过eclipsec控制台应用程序运行它。这将为您提供Eclipse框架和插件基础结构。否则,您需要直接写入SVN API。 – 2013-05-13 13:21:27