第谷艺术当地回购;依赖于org.eclipse.jet未解决?

时间:2014-01-23 11:00:14

标签: eclipse maven tycho

我正在创建一些OSGI模块包含许多插件和功能,需要来自p2 repo的依赖...

  • 我使用带有神器的tycho
  • 为了满足这些依赖关系,我添加了Kepler repo,(tycho无法解析本地存储的依赖关系)......

我的主要pom.xml:

<repository>
<layout>p2</layout>
<id>kepler</id>
<url>http://download.eclipse.org/releases/kepler</url>
</repository>

和其他神器本地回购

<repository>
<id>central</id>
<url>{server.addr}/libs-release </url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
.......

一切似乎都没问题,除了这个错误:

Caused by: java.lang.RuntimeException: No solution found because the problem is unsatisfiable.: [Unable to satisfy dependency from xx.xx.xx.xxx.xxx  to bundle org.eclipse.jet 1.1.1.; No solution found because the problem is unsatisfiable.] ???

如何找到这个依赖项:org.eclipse.jet ???为什么tycho没有在Kepler p2中找到?

2 个答案:

答案 0 :(得分:1)

org.eclipse.jet不是Kepler p2存储库的一部分,因为您可以例如找出这个shell脚本:

eclipse -application org.eclipse.equinox.p2.director \
    -repository http://download.eclipse.org/releases/kepler \
    -list | grep -F 'org.eclipse.jet'

如果您可以找到包含该捆绑包的p2存储库,您也可以通过以与Kepler存储库相同的方式将其添加到pom.xml来引用该p2存储库。

http://www.eclipse.org/modeling/m2t/updates/列出了一些建模项目的p2存储库。可能其中一个还包括您想要的包(及其依赖项)。

答案 1 :(得分:0)

我解决了这个问题...这是解决方案,可能对某人有用:

- 首先从(http://www.eclipse.org/modeling/m2t/downloads/?project=jet)下载org.eclipse.jet。

-Peploy“org.eclipse.jet_1.1.1.v201101311015.jar”in Artifactory(libs-release-local)

-Artifactory将生成包含依赖项的代码:

<dependency>
<groupId>org.eclipse.jet</groupId>
<artifactId>org.eclipse.jet</artifactId>
<version>1.1.1</version>
</dependency>

- 在模块的pom.xml文件中添加此依赖项声明,我们需要jet(不在主pom.xml中)

-Build项目(我使用Jenkins)。 - 成功......

请注意,jet也需要这种依赖:

<dependency>
<groupId>org.eclipse.jet</groupId>
<artifactId>org.eclipse.jet.core</artifactId>
<version>1.2.1</version>
</dependency>

可能有更好的解决方案,但现在我将使用它。基于一些论坛JET已被更新的工具,如Xtend或Acceleo取代。 所以很快我就会切换到这个新的解决方案......