¿Cuál es la mejor manera de evitar maven-jar?

Estoy usando un complemento diferente (ant4eclipse) para archivar mis archivos. ¿Cuál es la mejor manera de evitar la ejecución del plugin maven-jar?

  • Traté de eliminar el maven-jar-plugin
  • Intenté ** / *
  • Traté de true

Ninguno funcionó

En Maven 3.0.x (Probé 3.0.2) puede deshabilitar maven-jar-plugin vinculando la ejecución de default-jar a una fase inexistente, como se sugirió @bmargulies . Lamentablemente, eso no funciona en 2.2.1, pero puede evitar que interfiera con su propio jar configurando una alternativa y para la ejecución del default-jar por default-jar ; seguirá creando un jar, pero se establecerá como un artefacto secundario para el proyecto y no sobrescribirá el que ha creado. Aquí hay un ejemplo que debería funcionar tanto en Maven 2 como en Maven 3:

  4.0.0 test test 0.1-SNAPSHOT    maven-jar-plugin   default-jar never  unwanted unwanted        

Una vez que hayas desactivado maven-jar-plugin , maven-install-plugin puede darte problemas. En Maven 3 se puede desactivar de la misma manera que maven-jar-plugin : bind default-install a una fase inexistente. Sin embargo, en Maven 2 maven-install-plugin requiere que el directorio target/classes exista, e instalará el flask ficticio cuando no haya un artefacto primario presente.

Esto debería ser el truco: observe el uso de default-jar y .

     org.apache.maven.plugins maven-jar-plugin 2.4   default-jar       

Vincular explícitamente el plugin jar a una fase que no existe.

En mi caso, solo quería desactivar el plugin jar porque el jar estaba vacío. Puede usar la opción skipIfEmpty en la configuración del complemento

  org.apache.maven.plugins maven-jar-plugin 3.0.2  true   

¿Qué pasa si declaras esto?

 pom 

Incluso si hace lo que estás buscando, ten cuidado. No estoy seguro de si podría haber efectos secundarios negativos, como otros proyectos maven que dependen de que tu contenedor no pueda ubicarlo.

Como han dicho otros, no es posible desactivarlo, excepto usar pom , que apaga todo y probablemente no es lo que quieres.

Aunque generará dos veces, una solución de trabajo es unir el proceso de jar a la fase del package , ya que se garantiza que se ejecutará después del valor predeterminado. Al sobreescribir el mismo archivo JAR, encontrará que el suyo se usa donde sea que haya estado el original.

Estoy usando un complemento diferente para jar mis archivos. ¿Cuál es la mejor manera de evitar la ejecución del plugin maven-jar?

Primero, el objective jar:jar está vinculado por defecto en la fase del package para un proyecto con un paquete de tipo jar . En segundo lugar, no hay forma de desvincular un complemento vinculado a una fase. Entonces, si está usando otro complemento (?), Acepte producir 2 JAR o cambie el empaque (pero no creo que esto funcione bien).

   org.apache.maven.plugins maven-jar-plugin  true