2017-05-03 85 views
1

我有一个从其他团队收到的需要在AEM中使用的jar文件。我不能使用的jar直接在AEM,所以我转换的Jar成捆带链接“https://helpx.adobe.com/experience-manager/kb/ConvertAJarIntoOsgiBundle.html”的帮助,现在我的包已准备就绪,并通过菲利克斯控制台上传到AEM。包已激活。现在我需要使用包中的类到我的java类。如何在java类中使用该bunlde。我是否需要在POM.xml中添加该包?如果是这样,那么我可以如何使用该包到POM.xml中,以便我的代码可以complile。如何将第三方JAR用于AEM?

回答

1

你可以把你的lib放到src/main/jcr_root/apps/your_app/libs/install文件夹(路径取决于你的项目结构)。现在它将使用maven安装到AEM。

要导入必要的类使用规定范围内,我们有Jedis LIB以下配置:

<dependency> 
    <groupId>org.apache.servicemix.bundles</groupId> 
    <artifactId>org.apache.servicemix.bundles.jedis</artifactId> 
    <version>2.7.3_1</version> 
    <scope>provided</scope> 
</dependency> 
0

现在我的包已准备就绪,并通过菲利克斯控制台上传到AEM

也就是说不是一个好主意。是的,您可以从Felix控制台安装捆绑包,但是在AEM中捆绑安装理想情况下应该由可以扫描JCR存储库捆绑的Sling OSGi安装程序管理。

至于说在其他的反应,你应该把你包了一个名为“安装”下面的/apps文件夹文件夹中。

我的建议是使用用于生成AEM意见,使嵌入你的包在您的AEM包Maven的内容包插件:

<build> 
    <plugins> 
     <plugin> 
      <groupId>com.day.jcr.vault</groupId> 
      <artifactId>content-package-maven-plugin</artifactId> 
      <configuration> 
       <failOnMissingEmbed>true</failOnMissingEmbed> 
       <filterSource>src/main/META-INF/vault/filter.xml</filterSource> 
       <filters combine.self="override" /> 
       <embeddeds> 
        <embedded> 
         <groupId>org.apache.sling</groupId> 
         <artifactId>org.apache.sling.models.validation-impl</artifactId> 
         <target>/apps/example/install</target> 
        </embedded> 
       </embeddeds> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

而且,不要忘了添加/apps/example/install您filter.xml 。

有关content package plugin的更多信息

相关问题