wikipediaillustrated

tutoriales

[2021] java: no se puede ejecutar el archivo JAR: «sin atributo de manifiesto principal» {DH}

apple touch icon@2

Primero, es un poco extraño verte correr java -jar "app" y no java -jar app.jar

En segundo lugar, para hacer que un archivo jar sea ejecutable… debe crear un archivo jar llamado META-INF/MANIFEST.MF

El archivo en sí debe tener (al menos) este forro:

Main-Class: com.mypackage.MyClass

Dónde com.mypackage.MyClass es la clase que tiene public static void main(String[] argumentos) punto de entrada.

Tenga en cuenta que hay varias formas de hacer esto usando CLI, Maven, Ant o Gradle:

Hacia CLIel siguiente comando servirá: (tks @dvvrt)

jar cmvf META-INF/MANIFEST.MF <new-jar-filename>.jar  <files to include>

Hacia experto, algo como el siguiente fragmento debería funcionar. Tenga en cuenta que esta es solo la definición del complemento, no la completa pom.xml:

Último documento sobre este complemento: consulte https://maven.apache.org/plugins/maven-jar-plugin/

<build>
  <plugins>
    <plugin>
      <!-- Build an executable JAR -->
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>3.1.0</version>
      <configuration>
        <archive>
          <manifest>
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix>
            <mainClass>com.mypackage.MyClass</mainClass>
          </manifest>
        </archive>
      </configuration>
    </plugin>
  </plugins>
</build>

(Escoge un <version> adecuado para su proyecto).

Hacia hormigael siguiente fragmento debería ayudar:

<jar destfile="build/main/checksites.jar">
  <fileset dir="build/main/classes"/>
  <zipfileset includes="**/*.class" src="https://dhtrust.org/instrucciones/java-no-se-puede-ejecutar-el-archivo-jar-sin-atributo-de-manifiesto-principal/lib/main/some.jar"/>
  <manifest>
    <attribute name="Main-Class" value="com.acme.checksites.Main"/>
  </manifest>
</jar>

Pie de imprenta Michael Nadie –

Hacia La licenciatura:

plugins {
    id 'java'
}

jar {
    manifest {
        attributes(
                'Main-Class': 'com.mypackage.MyClass'
        )
    }
}

. Referencia:

leer mas: [2021] java: no se puede ejecutar el archivo JAR: «sin atributo de manifiesto principal» {DH}

Puede que también te guste...

Deja una respuesta

Tu dirección de correo electrónico no será publicada.