2010-01-26 13 views
5

Acabo de copiar el código de Key-Listener de http://java.sun.com/docs/books/tutorial/uiswing/examples/events/KeyEventDemoProject/src/events/KeyEventDemo.java. Pude compararlo con el comando "javac". Pero cuando trato de ejecutar el código compilado (escribir "KeyEventDemo java") tengo un mensaje grande en el extremo de la cual veo:¿Por qué Java no pudo encontrar la clase principal?

Could not find the main class: KeyEventDemo. Program will exit. 

Ayer tuve un similar problem en Windows Vista (ahora estoy en Ubuntu) En Windows, pude resolver el problema escribiendo "java -cp. ProgramName" o añadiendo nuevos valores ("." Y "..") a la variable de entorno "classpath".

En Ubuntu, la primera solución no funciona. Quiero decir, cuando escribo "java -cp. KeyEventDemo" todavía tengo el problema. Además, en Ubuntu pude ejecutar otros programas simplemente escribiendo "java ProgramName".

Entonces, ¿alguien puede decirme qué tiene de especial este KeyEventDemo? ¿Por qué no funciona y cómo se puede resolver?

+0

Usted acaba de tener un solo archivo, ¿por qué no eliminar el nombre del paquete por el momento? Funciona bien para mí cuando elimino eso. –

Respuesta

4

Es porque KeyEvent clase está en el paquete eventos.

O bien tiene que eliminar los eventos del paquete ; línea de código fuente, o compilarlo con:

javac -d . KeyEventDemo.java 
5

Este programa no está en el paquete por defecto, pero en los "eventos" del paquete: utilizar java -cp . events.KeyEventDemo desde el directorio que contiene la carpeta de "eventos":

 
    +work 
    +events 
    -KeyEventDemo.class 
7

La clase KeyEventDemo está en un paquete events Para ejecutar ella, usted debe estar en la carpetaprincipal de la carpeta events que contiene la clase, y ejecutarlo utilizando su nombre completo, incluyendo el paquete:

java events.KeyEventDemo 

El classpath debe contener la carpeta (o JAR) que es la raíz de la jerarquía de carpetas que representa los paquetes; la carpeta actual es (creo) incluida automáticamente.

0

Quizás compilar y ejecutar con la versión Java diferent. Esto es común cuando intenta ejecutar un ejemplo en eclipse.

+3

Hola bienvenido a stackoverflow. Esta pregunta fue respondida hace casi 3 años y el problema ya estaba identificado. La próxima vez, lea primero las respuestas existentes y verifique si alguna ha sido aceptada o no antes de proporcionar una respuesta a una pregunta anterior. – Rutix

Cuestiones relacionadas