我正在创建一些OSGI模块包含许多插件和功能,需要来自p2 repo的依赖...
我的主要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中找到?
答案 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取代。 所以很快我就会切换到这个新的解决方案......