Aar*_*lla 3 dependencies osgi tycho
我对Tycho 0.15.0有一个奇怪的问题.我有8个依赖项,MANIFEST.MF但Tycho无法解决其中一个问题.输出如下所示:
[INFO] 1 operation remaining.
[INFO] Fetching org.eclipse.xtext.logging_1.2.15.v201206120633.jar (4kB of 10.12kB at 0B/s) from http://my.server.com/p2-3.7.2/plugins/
[INFO] Resolving class path of MavenProject: <...my project ...> @ <...path to my project...>/pom.xml
[ERROR] Internal error: java.lang.RuntimeException: org.osgi.framework.BundleException: Bundle <...my project...> cannot be resolved
[ERROR] Resolution errors:
[ERROR] Bundle <...my project...> - Missing Constraint: Require-Bundle: org.eclipse.xtext.logging; bundle-version="1.2.15"
[ERROR] -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: org.osgi.framework.BundleException: Bundle <...my project...> cannot be resolved
Resolution errors:
Bundle <...my project...> - Missing Constraint: Require-Bundle: org.eclipse.xtext.logging; bundle-version="1.2.15"
Run Code Online (Sandbox Code Playgroud)
我知道的:
org.eclipse.xtext.logging_1.2.15.v201206120633.jar存在~/.m2/repository/p2/osgi/bundle/org.eclipse.xtext.logging/1.2.15.v201206120633/org.eclipse.xtext.logging-1.2.15.v201206120633.jar我的电脑上有)在MANIFEST.MF看起来是正确的:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Bundle-Vendor: %providerName
Bundle-Localization: fragment
Fragment-Host: org.apache.log4j;bundle-version="[1.2.15,1.2.16)"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.xtext.logging;singleton:=true
Created-By: 1.5.0_22-b03 (Sun Microsystems Inc.)
Bundle-Version: 1.2.15.v201206120633
Bundle-ManifestVersion: 2
Import-Package: org.eclipse.core.runtime,org.osgi.framework;version="1
.5.0"
Run Code Online (Sandbox Code Playgroud)Tycho 0.16.0也有同样的问题.
有任何想法吗?
您看到此行为的原因如下:
org.eclipse.xtext.logging为片段,而不是一个独立的束(你可以看到,因为它具有Fragment-Host在MANIFEST.MF其中限定了另一束到这个人是的片段).Require-Bundle到片段可以在p2中解析.基于p2的依赖关系解析确定将目标平台的哪些工件下载到本地Maven存储库.Require-Bundle到片段将无法在OSGi服务器中解析.为了计算类路径(因此控制台输出Resolving class path),Tycho使用Equinox解析器.该解析器正确检测到片段的Require-Bundle无效.| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |