按照学生管理员的例子,我设法准备了WSO2功能(服务器+ ui +聚合)并生成了p2存储库。
由于缺少依赖性,聚合功能无法安装,例如我的xxx.analyzer组件(以及后来的一些Apache Commons库):
Cannot complete the install because one or more required items could not be found.
Software being installed: My Manager Aggregate Feature 1.0.0 (xxx.mgt.feature.group 1.0.0)
Missing requirement: xxx.mgt 1.0.0 (xxx.mgt 1.0.0) requires 'package xxx.analyzer 0.0.0' but it could not be found
Cannot satisfy dependency:
From: My Manager Aggregate Feature 1.0.0 (xxx.mgt.feature.group 1.0.0)
To: xxx.mgt.server.feature.group [1.0.0]
我的捆绑包安装在本地M2_REPO中。 当我将它们直接安装到WSO2 OSGi控制台命令行时,它们可以正常工作。
如何将它们包含在功能中?
答案 0 :(得分:1)
您可以使用功能pom中carbon-p2插件的配置部分中的<bundleDef>group.id:bundle.artifact.id</bundleDef>
将您的捆绑包包含到功能中。它将类似于下面的内容。
...
<execution>
<id>p2-feature-generation</id>
<phase>package</phase>
<goals>
<goal>p2-feature-gen</goal>
</goals>
<configuration>
<id>org.wso2.carbon.student.mgt.ui</id>
...
<bundles>
<bundleDef>org.wso2.carbon:org.wso2.carbon.student.mgt.stub</bundleDef>
<bundleDef>org.wso2.carbon:org.wso2.carbon.student.mgt.ui</bundleDef>
</bundles>
</configuration>
</execution>
...
如果您需要添加功能而不是捆绑包,则可以在聚合功能pom中使用<includedFeatureDef>group.id:feature.artifact.id</includedFeatureDef>
。两者的示例可以在this tutorial中找到。