que - ejecutar un jar desde java
Ejecutar clase en archivo Jar (4)
Hay dos tipos de archivos JAR disponibles en Java
Archivo jar ejecutable / ejecutable que contiene el archivo de manifiesto. para ejecutar el jar Runnable puedes usar
Java -jar fileName.jar
ojava -jar -classpath abc.jar fileName.jar
Archivo jar simple: estos archivos no contienen el archivo de manifiesto, por lo que puede ejecutar su clase principal dando su ruta
java -cp ./fileName.jar MainClass
Si tiene un archivo jar llamado myJar.jar
ubicado en / myfolder y desea usar la clase llamada myClass
, ¿cómo lo hace desde la línea de comando?
Pensé que sería ir al directorio y decir java -cp myJar.jar.myClass
pero eso no está funcionando. Cualquier ayuda sería apreciada.
Suponiendo que se encuentra en el directorio donde está myJar.jar
y que myClass
tiene un método public static void main()
en él:
Usas la siguiente línea de comando:
java -cp ./myJar.jar myClass
Dónde:
myJar.jar
está en la ruta actual ,myJar.jar
.
no está en la ruta actual en la mayoría de los sistemas. También se prefiere una ruta totalmente calificada aquí.myClass
es una ruta completa del paquete a la clase, el ejemplo asume quemyClass
está en el paquete predeterminado, lo cual es una mala práctica; si está en un paquete anidado, seríacom.mycompany.mycode.myClass
.
Use java -cp myjar.jar com.mypackage.myClass
.
Si la clase no está en un paquete, simplemente
java -cp myjar.jar myClass
.Si no se encuentra dentro del directorio donde se encuentra
myJar.jar
, puede hacer lo siguiente:En plataformas Unix o Linux:
java -cp /location_of_jar/myjar.jar com.mypackage.myClass
En Windows:
java -cp c:/location_of_jar/myjar.jar com.mypackage.myClass
Usted quiere:
java -cp myJar.jar myClass
La Documentation brinda el siguiente ejemplo:
C:> java -classpath C:/java/MyClasses/myclasses.jar utility.myapp.Cool