我有一个osgi-bundle,它是使用maven-bundle-plugin创建的:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
</instructions>
</configuration>
</plugin>
捆绑包是通过maven-sling-plugin安装的。
我有一个betterxml.jackson依赖项,它在我的.m2 repo中作为osgi-bundle存在,并在我的项目中充当依赖项。
如何让maven将此依赖项部署为osgi-bundle?
目前我必须在我的osgi-container中手动安装它。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.2.2</version>
</dependency>
编辑:
简化:
如何让maven意识到我在pom.xml中作为依赖项引用的osgi-bundle应该与osgi-container中的依赖它一起安装?
答案 0 :(得分:3)
您可能会发现将捆绑包作为应用程序的一部分打包,以及/content
文件夹中应用程序的/apps
,/apps/myapp/install
部分将导致库由jcr installer提供商以捆绑方式安装。
有几种方法可以使用这些文章中描述的maven自动打包/部署应用程序:
或者,您可以使用CRXDE放置捆绑包,然后使用CRX Package Manager来测试该方法,稍后他们将继续进行自动打包。
如果您不想重新打包两个OSGI包,可以使用sling maven插件直接安装jackson包
mvn org.apache.sling:maven-sling-plugin:install-file -Dsling.file=jackson-databind-2.2.2.jar