Si tiene un archivo jar llamado myJar.jar
ubicado en / myfolder y desea usar la clase llamada myClass
desde él, ¿cómo lo hace desde la línea de comandos?
Pensé que sería ir al directorio y decir, java -cp myJar.jar.myClass
pero eso no funciona. Cualquier ayuda sería apreciada.
java
command-line
jar
jim
fuente
fuente
java -cp myJar.jar myClass
funciona bien para mí, ¿tienes un período espurio en tu línea de comando en lugar de un espacio?Respuestas:
Uso
java -cp myjar.jar com.mypackage.myClass
.Si la clase no está en un paquete, simplemente
java -cp myjar.jar myClass
.Si no está dentro del directorio donde
myJar.jar
se encuentra, 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
fuente
Usted quiere:
La documentación da el siguiente ejemplo:
fuente
Hay dos tipos de archivos JAR disponibles en Java:
Archivo jar ejecutable / ejecutable que contiene el archivo de manifiesto. Para ejecutar un jar Runnable puede usar
java -jar fileName.jar
ojava -jar -classpath abc.jar fileName.jar
Archivo jar simple que no contiene un archivo de manifiesto, por lo que simplemente ejecuta su clase principal dando su ruta
java -cp ./fileName.jar MainClass
fuente
Suponiendo que está en el directorio donde
myJar.jar
está el archivo y quemyClass
tiene unpublic static void main()
método:Utiliza la siguiente línea de comando:
Dónde:
myJar.jar
está en la ruta actual , tenga en cuenta que.
no está en la ruta actual en la mayoría de los sistemas. Una ruta de acceso completa se prefiere aquí también.myClass
es una ruta de paquete totalmente calificada 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 lo estaríacom.mycompany.mycode.myClass
.fuente
Esta es la forma correcta de ejecutar un
.jar
, y cualquiera que sea la clase que.jar
debería tenermain()
y los siguientes son los parámetros para ello:fuente