Pregunta

Estoy utilizando Maven plugin de montaje para empacar un archivo JAR. Pero cuando corro mvn package, experta en Activar siempre la [jar: jar {ejecución: default-jar}] para crear un archivo jar por defecto. Así que voy a tener 2 archivos JAR (uno creado por Plugin de montaje y una creada por frasco experta en el que yo no quiero ser creado). ¿Cómo puedo desactivar la ejecución:. Default-jar

en mi pom.xml, estoy usando: <packaging>jar</packaging>. No quiero cambiarlo a <packaging>pom</packaging>.

¿Fue útil?

Solución

  

(...) Así que voy a tener 2 archivos JAR (uno creado por Plugin de montaje y un frasco creado por experto, que no quiero que se creará).

Parece que estás haciendo las cosas muy complicadas. Tal vez Maven no es la herramienta adecuada en su caso.

  

¿Cómo puedo desactivar la ejecución:. Default-jar

Se puede configurar el <phase> de la ejecución correspondiente a algo desconocido, al igual que 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>

Esto parece funcionar, siempre y cuando usted está proporcionando algo más que ser instalado, como un conjunto (sólo probé install). Pero, por supuesto, esto es un truco.

Otros consejos

Aunque no es una respuesta directa a la pregunta, se puede excluir el frasco creado por maven jar <useProjectArtifact>false</useProjectArtifact> utilizando

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top