Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Compilar paquete

Hola Gente buen día, necesito que me den una mano con esto porque me estoy volviendo loco y no se cual es el problema, tengo la siguiente clase:

[code]
package spikeenscribefile;

public class Caf
{
public int test = 4;
}
[/code]

La cual es mencionada en esta:

[code]
package spikeenscribefile;

public class SpikeEnscribeFile
{

/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Caf e = new Caf();
System.out.println(e.test);
} //MAIN
} //CLASS
[/code]

Al comipilar "Caf.java" no tengo problemas:
[code]
/home/user/spikeenscribefile $ javac Caf.java
[/code]

Pero al compilar el principal..
[code]
/home/user/spikeenscribefile $ javac SpikeEnscribeFile.java
SpikeEnscribeFile.java:11: cannot find symbol
symbol : class Caf
location: class spikeenscribefile.SpikeEnscribeFile
Caf e = new Caf();
^
SpikeEnscribeFile.java:11: cannot find symbol
symbol : class Caf
location: class spikeenscribefile.SpikeEnscribeFile
Caf e = new Caf();
^
2 errors
/home/user/spikeenscribefile $
[/code]

Alguna idea?

Gracias, saludos!

junio 6, 2014 | Unregistered CommenterNico

javac *.java

Un saludo

junio 6, 2014 | Unregistered CommenterUnoPorAhi

Ahora tengo 2 minutos...

No te funciona por el paquete. El busca spikeenscribefile.Caf pero en el directorio solo encuentra Caf.

Te podria funcionar esto:
javac -classpath "../" SpikeEnscribeFile.java

O subir un directorio y hacer esto:
javac -classpath "." spikeenscribefile/SpikeEnscribeFile.java

Pero la opcion que te propongo en el post anterior es la mas sencilla.

Si quieres mas detalle, aqui tienes una lectura muy completa al respecto:
http://kevinboone.net/classpath.html


Un saludo

junio 6, 2014 | Unregistered CommenterUnoPorAhi

Hola UnoPorAhi, con "javac *.java" me compilo perfectamente :) . Pero como ejecuto el ".class" generado? Mira el error que me tira:

/home/user/>> java SpikeEnscribeFile
Exception in thread "main" java.lang.NoClassDefFoundError: SpikeEnscribeFile (wr
ong name: spikeenscribefile/SpikeEnscribeFile)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
1)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

junio 6, 2014 | Unregistered CommenterNico

Si te hubieses leído atentamente el documento que te comenté, lo habrías adivinado tu mismo.

Desde la propia carpeta:
java -classpath ../ spikeenscribefile.SpikeEnscribeFile

Subiendo un directorio:
java spikeenscribefile.SpikeEnscribeFile

junio 6, 2014 | Unregistered CommenterUnoPorAhi

Hola! La verdad probe tantas combinaciones que no doy pie con bola.. igual me sigue dando error con ambos comandos:

Exception in thread "main" java.lang.NoClassDefFoundError: ///
Caused by: java.lang.ClassNotFoundException: ...
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

junio 6, 2014 | Unregistered CommenterNico

Desde donde estas ejecutando el comando? En la misma carpeta, en otra...

Puedes poner la salida completa? (el comando que lanzas y desde donde)

Un saludo

junio 6, 2014 | Unregistered CommenterUnoPorAhi