Crear dos jar ejecutables usando maven-assembly-plugin

Tengo un proyecto Maven y quiero crear dos archivos jar ejecutables a partir de él. Uno será utilizado interactivamente por los usuarios y un segundo se ejecutará como un trabajo progtwigdo que lea los archivos de registro producidos por el primero. Al final, esperaría que los dos archivos jar fueran idénticos, excepto el atributo Main-Class en el archivo MANIFEST.MF.

Estoy usando maven-antrun-plugin para crear un archivo ejecutable y esto parecía funcionar bien hasta que intenté crear un segundo archivo jar introduciendo perfiles de Maven. La sección relevante de mi archivo POM se ve así:

  publisher  ${project.artifactId}  ...  maven-assembly-plugin 2.4  false ${project.artifactId}   fully.qualified.path.Publisher    jar-with-dependencies     package  single         logReader  ${project.artifactId}  ...  maven-assembly-plugin 2.4  false ${project.artifactId}-logReader   fully.qualified.path.LogReader    jar-with-dependencies     package  single         

Realmente, la única diferencia entre los dos es los elementos “finalName” y “mainClass” tal como se definen en el complemento.

Cuando bash ejecutar mvn: package en ambos perfiles (estoy usando IntelliJ IDEA, por cierto), obtengo dos archivos .jar, pero uno es correcto y el otro es incorrecto. El “correcto” contiene todas las dependencias y un archivo válido MANIFEST.MF. El “incorrecto” no contiene dependencias y el archivo MANIFEST.MF carece de la propiedad “Main-Class” que necesito para que sea ejecutable.

He encontrado que si alguna vez ejecuto solo un perfil u otro, funciona bien, pero si bash ejecutar ambos perfiles a la vez, falla. También recibo las siguientes notas en mi registro, pero debo admitir que no entiendo completamente lo que están diciendo:

 [INFO] Building jar: .../target/publisher.jar ... [INFO] Building jar: .../target/publisher-logReader.jar [WARNING] Configuration options: 'appendAssemblyId' is set to false, and 'classifier' is missing. Instead of attaching the assembly file: .../target/publisher-logReader.jar, it will become the file for main project artifact. NOTE: If multiple descriptors or descriptor-formats are provided for this project, the value of this file will be non-deterministic! [WARNING] Replacing pre-existing project main-artifact file: .../target/publisher.jar with assembly file: .../target/publisher-logReader.jar 

¿Alguna idea sobre esto? ¿Es posible producir dos archivos jar con un solo paquete mvn: de esta manera, o estoy ladrando en el árbol equivocado?

¡Gracias!

Tan pronto como publiqué esto, encontré este hilo:

Crear múltiples Jars ejecutables (con dependencias incluidas) de un solo proyecto Maven

Esto utiliza un enfoque diferente en el sentido de que no usa dos perfiles, sino que usa dos ejecuciones, como tales:

  maven-assembly-plugin 2.4   build-publisher  false   fully.qualified.path.Publisher    jar-with-dependencies  ${project.artifactId}  package  single    build-logReader  false   fully.qualified.path.LogReader    jar-with-dependencies  ${project.artifactId}-logReader  package  single     

Esto parece estar funcionando. La moraleja de la historia parece ser que no entiendo completamente los perfiles o cuándo deberían usarse.