如何在Eclipse插件项目中使用JGit

时间:2014-01-21 06:02:19

标签: eclipse-plugin tycho jgit

我正在创建一个需要使用JGit的Eclipse插件。但是,我不确定如何将bundle作为依赖项导入。

当我尝试使用tycho构建时,我遇到了无法解决依赖关系的错误。我尝试在pom中添加一个依赖项:

    <dependency>
        <groupId>org.eclipse.jgit</groupId>
        <artifactId>org.eclipse.jgit</artifactId>
        <version>3.2.0.201312181205-r</version>
    </dependency>

将清单添加到清单中的Required-Bundles:

但是所有的努力都导致无法解决依赖:

org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: No         solution found because the problem is unsatisfiable.: [Unable to satisfy dependency from com.inin.testing.eclipse.plugin.submit 0.5.0.qualifier to bundle org.eclipse.jgit 3.2.0.; Unable to satisfy dependency from org.eclipse.jdt.core 3.9.0.v_OTDT_r220_201306071800 to org.eclipse.objectteams.otdt.core.patch.feature.group [2.0.0,3.0.0).; Unable to satisfy dependency from org.eclipse.jdt.core 3.9.1.v_OTDT_r221_201309101918 to org.eclipse.objectteams.otdt.core.patch.feature.group [2.0.0,3.0.0).; No solution found   because the problem is unsatisfiable.]

如果有人在eclipse插件项目中成功使用JGit库,请告诉我你是如何使用它的。

1 个答案:

答案 0 :(得分:0)

如果您正在使用PDE,最好通过Target Platform使用JGit(或其他依赖项)。

下面的定义整合了Eclipse.org项目软件库中的JGit 3.2。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="JGit" sequenceNumber="53">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.jgit.feature.group" version="3.2.0.201312181205-r"/>
<unit id="org.eclipse.jgit.source.feature.group" version="3.2.0.201312181205-r"/>
<repository location="http://download.eclipse.org/egit/updates"/>
</location>
</locations>
</target>

将代码段粘贴到工作区内的文件中,然后使用(默认)“目标定义编辑器”将其打开。选择右上角的“设为目标平台”链接。这将下载JGit以及必需的捆绑包,并使其成为您当前的目标平台。