Ejecutar clases principales desde un artefacto desplegado con maven

No lo entiendo He configurado mi pom.xml para usar el complemento de Maven exec para poder ejecutar algunas de las clases en mi proyecto con el classpath correcto, -D define y -javaagent. Entonces, desde un shell con las clases integradas en ./target/classes, etc., puedo ejecutar los métodos main () usando

mvn exec:java -Dexec:mainClass=classWithAMainMethod

Todo bien hasta ahora.

Ahora quiero enviar mi proyecto (un artefacto jar) y todavía quiero poder usar la configuración que puse en pom.xml para ejecutar las clases con los argumentos correctos, etc. ¿Cómo lo hago? ¿Hay alguna forma de quedarse?

mvn -artifactJar=MyArtifact.jar exec:java -Dexec:mainClass=classWithAMainMethod

cuando todo lo que tengo es MyArtifact.jar (¿O un repositorio maven con MyArtifact.jar en él?)

He intentado lo siguiente:

  • Obtenga el jar con la dependencia: obtenga el objetivo y descomprímalo. No puedo hacer nada con eso, ya que pom.xml parece terminar en META-INF / maven en el frasco de artefactos. ¿Hay alguna forma de usarlo?

  • Crear un pompón simulado donde quiero ejecutar mi proyecto con una sola dependencia del artefacto de mis proyectos. Entonces puedo usar exec: java para ejecutar las clases principales, pero no usa la configuración de mis proyectos pom.

Gracias.

Respuesta 1

¿Has intentado usar algo como onejar ?

Eso suena como lo que estás buscando.

Respuesta: 2

Estoy intentando eliminar el contenido del directorio con pocos archivos, y no puedo eliminarlo. Cuando probé los métodos .delete (), devuelve un falso, pero .canWrite (), el método .canRead () devuelve ...

Hola, estoy buscando una API gratuita o algún código fácil para cifrar y descifrar archivos PDF. El cifrado debe realizarse al descargar el archivo de una secuencia: while ((bufferLength = inputStream.read (...

Estoy haciendo un .toString () en una InetSocketAddress. Esto es parte de un cliente websocket de Android que hasta ahora no se puede conectar al host. En este momento, la salida de una variable address.toString () ...

Me gustaría tener Jetty ejecutándose en un servidor de producción y cuando tengo un nuevo paquete de código para implementar, me gustaría poder hacer un "paquete sbt" para empaquetar mi código en un archivo war, luego copiarlo ...