这似乎是一件简单的事情,但我无法弄清楚为什么我创建的某些模块最终会出现在不同的集群(即ide)中,而其他模块中的其他模块则由我的品牌标记结束。
在品牌标记下显示的唯一模块具有以下配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<moduleType>autoload</moduleType>
<codeNameBase>com.validation.manager.h2/1</codeNameBase>
<publicPackages>
<publicPackage>org.h2.*</publicPackage>
</publicPackages>
</configuration>
</plugin>
其他人看起来像这样:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<moduleType>eager</moduleType>
<codeNameBase>com.validation.manager.ui/1</codeNameBase>
</configuration>
</plugin>
正如您所看到的,除了模块类型和公共包装之外,几乎没有任何差异。
该应用程序工作正常,只是令我困惑的事情。
有什么想法吗?
答案 0 :(得分:1)
检查模块的nbm文件,在Info / Info.xml中定义了哪个集群。
这是当前nbm-maven-plugin中模块的行为。对于osgi bundle,行为更加流畅,因为bundle jar不包含二进制文件中的集群信息。