【发布时间】:2015-07-17 14:20:18
【问题描述】:
在 OSGi 包中,我试图删除 *;resolution=optional 并指定特定的导入。
当我在运行时检查时,导入如下
org.apache.catalina.valves; version="8.0.20",
org.apache.catalina.util; version="8.0.20",
org.apache.catalina.session; version="8.0.20",
org.apache.catalina.realm; version="8.0.20",
org.apache.catalina.core; version="8.0.20",
org.apache.catalina.connector; version="8.0.20",
org.apache.catalina.authenticator; version="8.0.20",
org.apache.catalina; version="8.0.20",
org.apache.catalina.tribes; version="0.0.0"<unwired><optional>
org.apache.catalina.tribes.group; version="0.0.0"<unwired><optional>
org.apache.catalina.tribes.group.interceptors; version="0.0.0"<unwired><optional>
org.apache.catalina.tribes.io; version="0.0.0"<unwired><optional>
org.apache.catalina.tribes.tipis; version="0.0.0"version="0.0.0"<unwired><optional>
我可以这样减少吗?
<Import-Package>
org.apache.catalina.*;version="8.0.20",
org.apache.catalina.tribes.*;resolution:=optional,
</Import-Package>
这是一个好习惯吗?
当我使用以后的配置构建 jar 时,仍然在 MANIFEST 文件中,它在包旁边显示 resolution=optional
编辑
依赖部分
<dependencies>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina-ha</artifactId>
<version>8.0.20</version>
<optional>true</optional>
</dependency>
</dependencies>
【问题讨论】:
-
我不太清楚你想做什么。这些包是包中代码的依赖项。如果您不想要依赖项,请不要使用这些包...
-
@NeilBartlett 我正在从提到的依赖项创建一个 OSGi 包并导出它的一些包
-
我明白了……那么,有什么问题?
-
在检查清单时创建捆绑包后,它仍然使用分辨率:=版本可选
-
对,这与您从 maven 说明中发布的 sn-p 一致。
标签: maven osgi osgi-bundle maven-bundle-plugin