2016-07-22 22 views
0

Ich habe eine Anwendung, die ich in Karaf bereitstellen möchte. Ich habe eine Feature-Datei erstellt und kann Funktionen über diese Datei mithilfe der Karaf-Konsole hinzufügen. Was ich jetzt erreichen möchte, ist, dass diese Feature-Datei über Maven-Befehle erstellt wird, anstatt sie manuell zu erstellen und dann eine benutzerdefinierte Karaf-Distribution mit dieser Feature-Datei zu erstellen. Wie kann ich es erreichen?Karaf - Erstellen von Feature-Datei und Erstellen von benutzerdefinierten Verteilung

Meine bisherige Vorgehensweise besteht darin, ein Maven-Modul zum Generieren von Feature-Dateien mit karaf-maven-plugin zu erstellen und dann ein weiteres Modul zu erstellen, um karaf benutzerdefinierte Distribution zu generieren, so dass wir nicht auf maven in der Produktionsumgebung zugreifen müssen.

Ist dieser Ansatz korrekt? Muss ich wirklich zwei verschiedene Module machen, um das zu erreichen? Wie kann ich auf die Feature-Datei vom zweiten Modul zugreifen?

Das sind mein Poms -

alle dependecies

<build> 
    <finalName>${project.artifactId}-${project.version}</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.karaf.tooling</groupId> 
      <artifactId>karaf-maven-plugin</artifactId> 
      <version>4.0.5</version> 
      <extensions>true</extensions> 
      <executions> 
       <execution> 
        <id>generate</id> 
        <phase>generate-resources</phase> 
        <goals> 
         <goal>features-generate-descriptor</goal> 
        </goals> 
        <configuration> 
         <startLevel>80</startLevel> 
         <aggregateFeatures>true</aggregateFeatures> 
         <includeTransitiveDependency>true</includeTransitiveDependency> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

ich nicht in der Lage bin noch den zweiten Teil, um herauszufinden. Jede Hilfe dabei wird sehr geschätzt.

+0

dokumentiert Sorry, ich löschte meine Antwort dachte, dass Sie über die 'Features-Maven-Plugin' wissen wollten. Deine Vorgehensweise ist richtig. Warum benötigen Sie Zugriff auf die Feature-Datei? –

+0

Vergessen zu erwähnen, ich benutze Karaf 4.0.5 –

+0

, um benutzerdefinierte Karaf-Verteilung zu erstellen. –

Antwort

0

Um einen benutzerdefinierten Karaf zu erstellen, brauchen Sie nur das Karaf-Maven-Plugin.

Zum Beispiel die Folgenden wird ein voll funktionsfähiges individuelle Karaf erzeugen:

 <plugin> 
      <groupId>org.apache.karaf.tooling</groupId> 
      <artifactId>karaf-maven-plugin</artifactId> 
      <version>4.0.0</version> 
      <extensions>true</extensions> 
      <configuration> 
       <!-- no startupFeatures --> 
       <bootFeatures> 
        <feature>minimal</feature> 
       </bootFeatures> 
       <installedFeatures> 
        <feature>wrapper</feature> 
        <feature>spring/4.0.7.RELEASE_1</feature> 
       </installedFeatures> 
      </configuration> 
     </plugin> 

Dies wird eine benutzerdefinierte karaf erzeugen, basierend auf den minimalen Mengen von Funktionen, die die minimal-Distribution erstellen benötigt. Wenn Sie sich auf die Standard-Distribution verlassen wollen, tauschen Sie diese einfach gegen Standard aus. BTW. All dies ist auch in der Karaf documentation

+0

Hallo, ich habe es tatsächlich versucht, aber ich bekam folgenden Fehler - Fehler beim Ausführen von Ziel org.apache.karaf.tooling: Karaf-Maven-Plugin: 4.0.5: Assembly (Standard-Assembly) auf Projekt deployment-karaf: Assembly kann nicht erstellt werden: /Users/Aviral.Shukla/Rep/gee-poc/deployment/target/assembly/etc/config.properties (Keine solche Datei oder kein Verzeichnis) .. jede Idee, warum ich diesen Fehler –

+0

bekomme Was hast du versucht, es ist nicht in der obigen Frage dokumentiert. Bitte geben Sie weitere Details an ... –