2017-05-03 114 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的更多信息

相關問題