我正在嘗試使用bnd 中的aQute.bnd.gradle.TestOSGi任務運行一些測驗。
我的圖書館需要 org.eclipse.pde.core
Resolution failed. Capabilities satisfying the following requirements could not be found:
[<<INITIAL>>]
? osgi.identity: (osgi.identity=org.eclipse.pde.core)
? [org.eclipse.pde.core version=3.13.200.v20191202-2135]
? osgi.wiring.bundle: (&(osgi.wiring.bundle=org.eclipse.team.core)(bundle-version>=3.2.0)(!(bundle-version>=4.0.0)))
? [org.eclipse.team.core version=3.8.800.v20191122-2107]
? osgi.wiring.bundle: (&(osgi.wiring.bundle=org.eclipse.compare.core)(bundle-version>=3.5.200)(!(bundle-version>=4.0.0)))
? [org.eclipse.compare.core version=3.6.700.v20191122-2107]
? osgi.wiring.package: (&(osgi.wiring.package=com.ibm.icu.text)(version>=3.6.1))
我有'com.ibm.icu:icu4j:64.2'作為依賴,我什至表示我想啟動 bundle com.ibm.icu。
-runrequires: \
bnd.identity;id='${project.archivesBaseName}',\
bnd.identity;id='junit-jupiter-engine',\
bnd.identity;id='junit-platform-launcher',\
bnd.identity;id='org.eclipse.pde.core',\
bnd.identity;id='com.ibm.icu',\
最小復制器專案可以在這里找到:pde-runGitHub 上的專案
我查看了icu4j.jar.
我看到以下內容:
Bundle-ManifestVersion: 2
Bundle-Name: ICU4J
Bundle-Description: International Components for Unicode for Java
Bundle-SymbolicName: com.ibm.icu
Bundle-Version: 64.2
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Main-Class: com.ibm.icu.util.VersionInfo
Export-Package: com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.number,com.ibm.icu.text,com.ibm.icu.util
Automatic-Module-Name: com.ibm.icu
所以com.ibm.icu.text是由這個包匯出的。
有沒有辦法了解正在發生的事情?
我想也許該Bundle-RequiredExecutionEnvironment條目阻止了包的啟動(我使用 Java 8 進行測驗)。如果是這種情況,我該怎么做才能解決我的問題?
uj5u.com熱心網友回復:
不滿足的要求是com.ibm.icu.text用version>=3.6.1. 但是,您顯示的 icu4j.jar 副本的匯出是未版本化的,這意味著它具有 0.0.0 的隱式版本。
不幸的是 0.0.0 不大于或等于 3.6.1,因此此捆綁包不滿足捆綁包的要求org.eclipse.compare.core。
uj5u.com熱心網友回復:
我認為您需要com.ibm.icu來自 Eclipse Orbit的合適的包。例如,請參見https://download.eclipse.org/oomph/archive/reports/download.eclipse.org/releases/2021-09/index/com.ibm.icu_67.1.0.v20200706-1749.html。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/372016.html
下一篇:Javascript"${status}"==500||${status}=="undefined"在while控制器中失敗
