2016-06-29 17 views
0

Ich möchte im schattierten Glas dokumentieren, welche Mavenartefakte tatsächlich in diesem schattierten Glas enden.Wie verbinde ich Artefakt-Informationen in maven schattiertem Glas

Alle Pakete werden zusammengeführt und das macht es schwierig, genau zu trainieren, welche Artefakte in das Glas gelangten.

Ich nehme an, der ideale Ort für diese Informationen wäre die Manifest-Datei, aber es könnte nur in einer Textdatei sein.

Idealerweise möchte ich groupId, artifactId und Version sehen.

Ist das mit dem maven shade plugin überhaupt möglich?

Vielen Dank im Voraus, Phil.

+0

Es ist unwahrscheinlich, dass Sie diese Art von Informationen von etwas anderem als dem Schatten-Plugin selbst erhalten können. Also würde ich in seine [Konfigurationseigenschaften] (https://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html) schauen. Zum Beispiel gibt es die Option 'createDependencyReducedPom', die mit' keepDependenciesWithProvidedScope' kombiniert werden kann, um eine modifizierte pom.xml mit eingeschlossenen Abhängigkeiten zu erhalten, die mit dem 'bereitgestellten' Bereich markiert sind. Ich sehe jedoch keine Möglichkeit, sie von ursprünglich bereitgestellten Abhängigkeiten zu unterscheiden. –

Antwort

0

Sie können dies tun, mit Maven, nachstehenden Schritte aus:

1- unter src anlegen/main/resources eine Datei wich die Informationen, Information.txt zum Beispiel mit folgendem Inhalt enthalten :

version=${project.version} 
artifactId=${project.artifactId} 
groupId=${project.groupId} 

2- Activate Maven filtring

<project> 
     ... 
     <build> 
     ... 
     <resources> 
      <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
      <includes> 
       <include>**/information.txt</include> 
      </includes> 
      </resource> 
      ... 
     </resources> 
     ... 
     </build> 
     ... 
    </project> 

3- Erstellen Sie Ihr Projekt. Die Datei enthält jetzt die Informationen, die Sie benötigen.

More information about the plugin.

+0

Dies ermöglicht es, jede Eigenschaft in eine Textdatei zu drucken und sie in das finale jar aufzunehmen. Aber das erklärt nicht, wie man herausfinden kann, welche Artefakte Teil des schattierten Jar wurden, wenn das Schatten-Plugin auf viele verschiedene Arten konfiguriert werden konnte, um nur einige Artefakte einzuschließen oder sogar Dinge zu verschieben. –

0

Beim Bau Gläser mit Maven, standardmäßig werden Sie die folgenden Einträge erhalten: /META-INF/maven/${groupId}/${artifactId}/pom.properties und /META-INF/maven/${groupId}/${artifactId}/pom.xml. Beim Schattieren landen alle diese Dateien ebenfalls im schattierten Bereich.