Para ejecutar el archivo de clase Java desde la línea de comandos, la sintaxis es:
java -classpath /path/to/jars <packageName>.<MainClassName>
donde packageName (generalmente comienza con como org) es el nombre de la carpeta donde está presente su archivo de clase.
Por ejemplo, si el nombre de su clase principal es Aplicación y el nombre del paquete Java de su aplicación es com.foo.app, entonces su archivo de clase debe estar en la com/foo/appcarpeta (carpeta separada para cada punto), por lo que ejecuta su aplicación como:
$ java com.foo.app.App
Nota: $ indica el indicador de shell, ignórelo al escribir
Si la clase no tiene ningún packagenombre definido, sólo tiene que ejecutar como: java App.
Si tiene otras dependencias de jar, asegúrese de especificar su parámetro classpath con -cp/ -classpatho usando la CLASSPATHvariable que apunta a la carpeta con sus archivos jar / war / ear / zip / class . Entonces, en Linux, puede prefijar el comando con:, CLASSPATH=/path/to/jarsen Windows, debe agregar la carpeta a la variable del sistema. Si no se establece, la ruta de la clase de usuario consta del directorio actual ( .).
Ejemplo practico
Dado que hemos creado un proyecto de muestra usando Maven como:
$ mvn archetype:generate -DgroupId=com.foo.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
y hemos compilado nuestro proyecto mvn compileen nuestro my-app/directorio, generará nuestro archivo de clase en target/classes/com/foo/app/App.class.
Para ejecutarlo, podemos especificar la ruta de clase a través -cpo ir directamente a ella, verifique los ejemplos a continuación:
$ find . -name "*.class"
./target/classes/com/foo/app/App.class
$ CLASSPATH=target/classes/ java com.foo.app.App
Hello World!
$ java -cp target/classes com.foo.app.App
Hello World!
$ java -classpath .:/path/to/other-jars:target/classes com.foo.app.App
Hello World!
$ cd target/classes && java com.foo.app.App
Hello World!
Para verificar su clase y el nombre del paquete, puede usar la herramienta de desensamblaje de archivos de clase Java, por ejemplo:
$ javap target/classes/com/foo/app/App.class
Compiled from "App.java"
public class com.foo.app.App {
public com.foo.app.App();
public static void main(java.lang.String[]);
}
Nota: javapno funcionará si el archivo compilado se ha ofuscado.