Frage

Ich bin mit Maven Plugin Montage eine JAR-Datei zu packen. Aber wenn ich mvn package laufen, auslösen Maven immer die [jar: jar {Ausführung: default-jar}] eine Standard-JAR-Datei zu erstellen. Also ich werde zwei JAR-Dateien haben (eine durch Montage erstellt Plugin und eine von Maven Glas geschaffen, die ich möchte nicht erstellt werden). Wie kann ich die Ausführung deaktivieren. Default-jar

in meinem pom.xml, ich bin mit: <packaging>jar</packaging>. Ich möchte nicht, es zu <packaging>pom</packaging> ändern.

War es hilfreich?

Lösung

  

(...) Also ich 2 JAR-Dateien haben (ein erstellt von Montage-Plugin und eine von Maven Glas geschaffen, die ich möchte nicht erstellt werden).

Sehen aus wie du tut ziemlich kompliziert Dinge. Vielleicht Maven ist nicht das richtige Werkzeug in Ihrem Fall.

  

Wie kann ich die Ausführung deaktivieren. Default-jar

Sie können die <phase> der entsprechenden Ausführung etwas unbekannt, wie none:

  <plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
      <execution>
        <id>default-jar</id>
        <phase>none</phase>
      </execution>
    </executions>
  </plugin>
  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
    <executions>
      <execution>
        <id>make-assembly</id>
        <!-- this is used for inheritance merges -->
        <phase>package</phase>
        <!-- append to the packaging phase. -->
        <goals>
          <goal>single</goal>
          <!-- goals == mojos -->
        </goals>
      </execution>
    </executions>
  </plugin>

Dies scheint zu funktionieren, solange Sie etwas anderes ist die Bereitstellung installiert werden, wie eine Baugruppe (I install nur getestet). Aber natürlich ist dies ein Hack.

Andere Tipps

Während keine direkte Antwort auf die Frage, können Sie das Glas von maven jar mit <useProjectArtifact>false</useProjectArtifact> erstellt ausschließen könnten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top