我将以下依赖项添加到我的OSGI包中:
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4</artifactId>
<version>4.7</version>
</dependency>
但是当我在<Private-Package>
中包含mycom.myProject.Antlr。*时出现以下错误:
错误:捆绑mycom.myProject.BundleFile [241]错误启动 文件:/ C:/username/apache-servicemix-7.0.0.M2/deploy/BundleFile-1.0.0.jar (org.osgi.framework.BundleException:无法解决 mycom.myProject.BundleFile [241](R 241.76):缺少要求 [mycom.myProject.BundleFile [241](R 241.76)] osgi.wiring.package; (及(osgi.wiring.package = org.antlr.v4.runtime)(版本&GT; = 4.7.0)((版本&GT;!= 5.0.0))) 未解决的要求:[[mycom.myProject.BundleFile [241](R 241.76)] osgi.wiring.package; (&amp;(osgi.wiring.package = org.antlr.v4.runtime)(版本&gt; = 4.7.0)(!(版本&gt; = 5.0.0)))))
我该如何解决?
答案 0 :(得分:0)
如果我正确读取了您的日志,OSGI需要一个antlr版本&gt; = 4.7.0。但是只有4.7版本。
尝试将manifest.mf中的所有版本条目更改为antlr,如:
version="4.7",
此外,版本末尾和&#34;之间还有空格。也许试试
org.antlr.v4.runtime;version="[4.7,5)"
而不是
org.antlr.v4.runtime;version="[4.7,5) "