Si tiene un archivo jar llamado myJar.jarubicado en / myfolder y desea usar la clase llamada myClassdesde él, ¿cómo lo hace desde la línea de comandos?
Pensé que sería ir al directorio y decir, java -cp myJar.jar.myClasspero eso no funciona. Cualquier ayuda sería apreciada.
                    
                        java
                                command-line
                                jar
                                
                    
                    
                        jim
fuente
                
                fuente

java -cp myJar.jar myClassfunciona 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.jarse encuentra, puede hacer lo siguiente:En plataformas Unix o Linux:
java -cp /location_of_jar/myjar.jar com.mypackage.myClassEn Windows:
java -cp c:\location_of_jar\myjar.jar com.mypackage.myClassfuente
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.jarojava -jar -classpath abc.jar fileName.jarArchivo jar simple que no contiene un archivo de manifiesto, por lo que simplemente ejecuta su clase principal dando su ruta
java -cp ./fileName.jar MainClassfuente
Suponiendo que está en el directorio donde
myJar.jarestá el archivo y quemyClasstiene unpublic static void main()método:Utiliza la siguiente línea de comando:
Dónde:
myJar.jarestá 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.myClasses una ruta de paquete totalmente calificada a la clase, el ejemplo asume quemyClassestá 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.jardebería tenermain()y los siguientes son los parámetros para ello:fuente