¿Cómo producir un archivo JAR para el proyecto Maven existente sin (sin atributo manifest principal)?

aga.91:

Soy nuevo en Maven. No se nada al respecto. Puedo descargar un código abierto maven formulario de proyecto Github. La abro en Eclipse. He modificado una sola línea a modificar el patrón de la fecha de este formato:

final String pattern = "%d{yyyy-MM-dd HH:mm:ss} %-5p - %m%n";

A esto

final String pattern = "%d{yyyy-MM-dd HH:mm:ss:SSS} %-5p - %m%n";

Entonces, traté de producir el archivo JAR para el proyecto. El pom.xml que vienen con el proyecto descargado está usando el plugin de paquete de sombra.

<plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-shade-plugin</artifactId>
                        <version>${shade.version}</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>shade</goal>
                                </goals>
                                <configuration>
                                    <finalName>name-of-pro-${project.version}</finalName>
                                    <transformers>
                                        <transformer
                                            implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                            <mainClass>name.of.the.package.and.Mainclass</mainClass>
                                        </transformer>
                                        <transformer
                                            implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
                                    </transformers>
                                    <filters>
                                        <!-- This is necessary to avoid a java.lang.SecurityException -->
                                        <filter>
                                            <artifact>*:*</artifact>
                                            <excludes>
                                                <exclude>META-INF/*.SF</exclude>
                                                <exclude>META-INF/*.DSA</exclude>
                                                <exclude>META-INF/*.RSA</exclude>
                                            </excludes>
                                        </filter>
                                    </filters>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

Por lo tanto, traté de archivo jar experto utilizando este comando:

mvn clean package

Sin embargo, cuando ejecuto el archivo jar producido mediante este comando:

java -jar app-0.2.0-SNAPSHOT.jar

Tengo el error (sin atributo principal de manifiesto).

no main manifest attribute, in app-0.2.0-SNAPSHOT.jar

Busqué el archivo MANIFEST.MF para comprobar si los atributos de allí, pero no encuentro la nube.

Nube alguien me ayuda si falta algún ajuste?

JF Meier:

No se puede simplemente ejecutar un frasco.

O bien, tiene que especificar la ruta de clase completo en la línea de comandos o que necesita para construir el frasco como jar-with-dependencieslo describe, por ejemplo aquí:

https://stackoverflow.com/a/574650/927493

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=385663&siteId=1
Recomendado
Clasificación