java - tutorial - no compiler is provided in this environment. perhaps you are running on a jre rather than a jdk?
Maven-No se puede ejecutar JAR (2)
Después de crear un proyecto mvn de muestra, agregué mis dependencias org.restlet
y código Java.
Entonces, construí con éxito mi JAR a través de la mvn install
. Finalmente, me encontré con un error al intentar ejecutar el JAR.
vagrant$ java -jar target/my-app-1.0-SNAPSHOT.jar
Failed to load Main-Class manifest attribute from
target/my-app-1.0-SNAPSHOT.jar
Necesitas establecer la clase principal en el manifiesto usando el maven-jar-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.someclass.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Tomado de here .
EDITAR
Si desea empaquetar el tarro resultante con dependencias, puede usar este
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
Tomado de here .
Si no tienes un manifiesto en tu jar, invocar java -jar no funcionará.
Usa este comando si no tienes un manifiesto:
java -cp foo.jar full.package.name.ClassName