Executar código Java no Prompt

3 respostas
Andrey_Knupp

Fala gente, beleza ? como sou novo no pedaço, e tenho muito pouco conhecimento em java, estou tentando rodar uns comandos para conhecer a sintaxe, entre outros … porém, logo de cara já levei gelo … tentando executar um código básico no prompt de comando do windows, está dando um erro meio estranho aqui … é o seguinte, no [b]C:[/b] tenho o seguinte código

package Application;

public class Application {

	public static void main ( String[] args ) {
		System.out.println ( "Hello World !" ) ;
	}
	
}

O nome do arquivo é Application.class, no entanto, ao executar … é disparado a seguinte exceção:

C:\>java Application
Exception in thread "main" java.lang.ClassFormatError: Incompatible magic value
[telefone removido] in class file Application
        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$100(Unknown Source)
        at java.net.URLClassLoader$1.run(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 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

Não tenho idéia do que possa ser …
[]'s

3 Respostas

G

Boa noite,

remova a linhapackage Application;recompile e tente rodar novamente. Após isto procure dar uma olhada no conceito de packages ok?
Abraços

zanata

Olá Andrey, tudo bem?

Vou aproveitar a sua dúvida para me aproximar novamente do forum e ver se consigo contribuir com algo.

Estou supondo que o repositório do seu “projeto” seja o diretório “C:\tmp\guj\forum\20111118” no seu disco.

Pelo código da sua classe, você diz lá que ela faz parte da package (namespace) “Application”. Portanto deve ser criado um subdiretório com esse mesmo nome abaixo da estrutura de diretório que você escolheu como o seu repositório, ou seja:

C:\tmp\guj\forum\20111118\Application

(Não quero entrar nesse mérito, mas por convenção, não se deve utilizar letra maiúscula no início do nome de packages. No seu caso, seria melhor que a package fosse renomeada para “application” [e o subdiretório que representa a package também])

O arquivo fonte Application.java deve ser gravado nesse diretório.

Tendo preparado esses elementos, para fazer a compilação, proceda da seguinte forma:

cd \tmp\guj\forum\20111118

javac Application/Application.java

Feito isso, você vai perceber que um arquivo Application.class será criado no subdiretório “Application”.

Para executar a sua classe, faça o seguinte:

javac   -classpath   .;   Application/Application.java

Vai funcionar.

Dá para melhorar isso tudo o que fiz aí, mas como não sei qual é o nível da dificuldade que você está enfrentando, acho que já dá para começar.

[]s

PS: Eu já havia escrito o texto, mas é melhor seguir a recomendação do Gilson sobre o conceito de packages.

Andrey_Knupp

Hmm … entendi , bem, funcionou normalmente, e com certeza, irei ler sobre o conceito de pacotes …

[]'s

:wink:

Criado 18 de novembro de 2011
Ultima resposta 19 de nov. de 2011
Respostas 3
Participantes 3