Maven捆绑插件添加了需求能力:osgi.ee; filter:=“&osgi.ee = JavaSEversion = 9.0”

问题描述

我正在尝试在Karaf中部署OpenAPI生成的代码。

卡拉夫说我需要:

javax.annotation.meta;version="[3.0,4)"
javax.xml.bind.annotation;version="[2.3,3)"

我正在使用Java 1.8进行编译和运行代码。

我正在使用maven-bundle-plugin v3.5.1

无论我做什么,我都以MANIFEST.MF结尾这一行

Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=9.0))"

我认为这可能是问题的根源。

是否有一种强制Require-Capability使用Java 8的方法?
还是更好的解决方法?

解决方法

bndtools(由maven-bundle插件使用)扫描类路径上的所有类,并跟踪类文件的版本。 这是默认的行为,您可以在maven包插件配置中使用<_noee> true noee>指令覆盖它

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...