2011-06-11 7 views
5
package com.test01; 

public class test01 { 
    public static void main(String[] args) 
    { 
     System.out.println("hi"); 
    } 
} 

Creo que el lanzador de aplicaciones java es muy estúpido. He señalado la posición test01.class:
java -cp. test01 (.class)
pero esto no funciona. Es muy difícil de usar.¿Cómo ejecutar esta clase java en línea de comandos en Windows?

+1

la -cp tienen que señalar la dir que contienen 'com' ..... así, esto funciona: java -cp ./bin/(contain com) com.test01.test01 – lovespring

Respuesta

19

debe ejecutar

java com.test01.test01 

pero tener una clase con el mismo nombre que un paquete es un muy mala idea(así como no seguir las convenciones de nombres de Java).

Tendría que ejecutarlo con la clase correspondiente en el classpath. Por ejemplo, usted podría simplemente compilarlo como esto (de la "raíz" del árbol de código fuente):

javac -d . [path to source file] 
java com.test01.test01 

o si usted tiene su fuente organizado adecuadamente ya:

javac com\test01\test01.java 
java com.test01.test01 
+0

OK, ahora que usted ha incluido la parte de compilación, borré mi respuesta para redundancia. –

+0

¿Qué sucede si tengo una carpeta lib y las carpetas salen? – Kieveli

+1

@Kieveli: No está claro a qué te refieres. Te sugiero que hagas una nueva pregunta * detallada *. –

3

usted debe ser el cambio al directorio de base desde donde las clases comienzan

java -cp $ CLASSPATH:.: com.test01.test01

Pero nombrar una clase "test01" no es una buena convención de nomenclatura.

Cuestiones relacionadas