Pessoal, é o seguinte, estou tendo problemas para executar um arquivo .class
Tenho este arquivo MyClass.java :
public class MyClass {
private int accountNumber;
private float balance;
public static void main(String[] args) {
System.out.println("Classe " + MyClass.class + " executando...");
}
}
O path dele é my project\source\com\wickedlysmart\MyClass.java
Dentro do diretório dele eu executei o comando javac -d …\classes\com\wickedlysmart MyClass.java
Até aqui tudo bem, o arquivo .class resultante foi colocado pelo javac em my project\classes\com\wickedlysmart\MyClass.class
Ok, depois disso eu fui nesse diretório e executei a classe com o comando java MyClass.
Perfeito, funcionou normal. Mas agora tenho o arquivo MyClass2.java:
package com.wickedlysmart;
public class MyClass2 {
public static void main(String[] args) {
System.out.print("teste");
}
}
Este arquivo está no mesmo diretório que o arquivo MyClass.java, a única diferença é que ele tem uma instrução package. Pois bem, executei o comando javac -d …\classes MyClass2.java, e o arquivo compilou normalmente e o .class resultante foi colocado em my project\classes\com\wickedlysmart\MyClass2.class (junto com o outro).
Ok, é aqui que está o problema. Quando vou no diretório onde está a classe e tento executá-la com java MyClass2, aparece o seguinte erro:
Exception in thread “main” java.lang.NoClassDefFoundError: MyClass2 (wrong name:
com/wickedlysmart/MyClass2)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: MyClass2. Program will exit.
Alguem pode me ajudar? Será que é por causa da instrução package? Quando não tem a instrução package tudo funciona normalmente (como na primeira classe), mas quando tem essa instrução as coisas complicam.