2016-04-05 8 views
2

bereit Ich arbeite daran, OSGI-Bundles zu entwickeln und sie auf Adobe AEM bereitzustellen.Stellen Sie OSGI-Pakete von Drittanbietern über maven

ich zwei Projekte haben, sind beide OSGi-Bundles

  1. Hauptprojekt
  2. Toolkit Projekt

ich das Toolkit Projekt als Maven Abhängigkeit im Hauptprojekt pom hinzugefügt haben und hier ist Was ich versuche zu erreichen:

Wenn ich das Hauptprojekt bereitstellen, wird das Bundle zu AEM mit dem Maven-Plugin bereitgestellt, ich möchte die Abhängigkeit BU bereitstellen ndle (Toolkit), auch wenn das Hauptprojekt bereitgestellt wird.

Gibt es eine Möglichkeit, dies zu tun?

Danke!

Antwort

2

Jedes OSGi-Paket, das unter /apps/[your-project]/install gespeichert ist, wird automatisch für AEM bereitgestellt.

Es gibt eine Reihe von Maven-Plugins, die Sie innerhalb eines CRX-Pakets verwenden können, um zum Zeitpunkt der Erstellung eine Abhängigkeit zwischen ihnen zu kopieren.

Ein Beispiel ist das eigene content-package-maven-plugin von Adobe. Um über eine JAR in ein Content-Set zu kopieren, verwenden Sie die folgende Syntax in Ihrem POM von the AEM docs:

<plugin> 
    <groupId>com.day.jcr.vault</groupId> 
    <artifactId>content-package-maven-plugin</artifactId> 
    <version>0.0.24</version> 
    <extensions>true</extensions> 
    <configuration> 
     <filters> 
      <filter> 
       <root>/apps/myapp</root> 
      </filter> 
     </filters> 
     <embeddeds> 
      <embedded> 
       <groupId>[toolkit-groupID]</groupId> 
       <artifactId>[toolkit-artifactID]</artifactId> 
       <target>/apps/[your-project]/install</target> 
      </embedded> 
     </embeddeds> 
    </configuration> 
</plugin> 

(Die JAR selbst muss auch als eine Abhängigkeit von diesem Projekt aufgeführt werden, als normal)

+1

Dank ! genau das was ich gesucht habe! – Rakesh

Verwandte Themen