[RESOLVIDO]Problema com package

Sempre quando eu tento usar um package, mesmo que seja com um diretório só, dá erro. Por que?

package MinhaPasta; // Isso não compila D: public class Test{ public static void main(String args[]){} }

Isso não compila com package, mas sem package funciona certinho.

Esse é o erro:

[quote]java.lang.NoClassDefFoundError: Test (wrong name: MinhaPasta/Test)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308 )
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:472)
Exception in thread “main”[/quote]

Oi!

Está executando onde isso?
Não esquece, se estiver eum prompt do windows por exemplo, vais ter de informar o package ao executar o javac.

Uso o npp para compilar e ele usa o prompt mesmo. Como informo o package?

Uso o seguinte código para compilar:

[quote]cd $(CURRENT_DIRECTORY)
javac $(FILE_NAME)
java $(NAME_PART)[/quote]

Nunca usei o npp e não sou o melhor para usar o javac no prompt, pois estou acostumado com a IDE.
Mas enfim, supondo que esteja assim:

C:\Projeto\br\com\guj\User.java.

Você acessa o diretório C:\Projeto no prompt e executa:

javac -cp . br.com.guj.User.java

Creio que isso resolva.
Tem a opção -d no javac, é bem interessante ao que vejo.

Aqui tem um ótimo tutorial, vale a pena ler: http://download.oracle.com/javase/1.3/docs/tooldocs/win32/javac.html

Abraços.

Tentei desse jeito que voce falou, mas nem deu nada.

Tentei também indicar a pasta, ai deu essa saida:

[quote]Current directory: C:\Users\LUIZ\Desktop\MinhaPasta
javac Test.java
Process started >>>
<<< Process finished.
java MinhaPasta\Test
Process started >>>
Erro: NÒo foi possÝvel localizar nem carregar a classe principal MinhaPasta\Test[/quote]

‘-’

Oi,

assim funciona:

Supondo C:\Teste\br\com\guj\Teste.java faça:

acesse no prompt o diretório C:\Teste e agora execute o comando:

[code]javac -cp . br\com\guj\Teste.java

java -cp . br.com.guj.Teste[/code]

Ae finalmente consegui, muito obrigado pela ajuda.

Usei as seguintes linhas:

javac -cp . Test.java java MinhaPasta.Test

Também achei muito interessante o comando:

javac -d . Test.java

Valeu novamente.