Problema na hora de compilar no Javac

13 respostas
Zaitssev

Olá Galera Sou iniciante e tbm tô com um problema na hora de compilar no Javac, aparece a seguinte mensagem:

C:\Documents and Settings\Julio Sampaio>java MeuPrograma
Exception in thread "main" java.lang.NoClassDefFoundError: MeuPrograma

Ajudem ai Pls, dêem dicas se errei na hora de dar valor as variáveis e tal…
vlw ai antes de mais nada!
:slight_smile:

13 Respostas

Emersonsts

na sua classe tem metodo main?

posta a classe se possivel

t+

Zaitssev
class MeuPrograma

{

public static void main(string[] args)

{

System.out.println(MInha primeira aplicação Java ! !);

}

}

tah ai, é esse o programaçooo :smiley:

como disse sou iniciante 8)

qq coisa pode dizer :wink:

Emersonsts

tenta trocar

public static void main(string[] args)

por

public static void main(String[] args)

veja q no seu programa vc diz “(string[] args)”, string com letra minuscula mas na real String é com letra maiuscula…

tenta ai ;]

Zaitssev

Mudei…

class MeuPrograma

{

public static void main(String[] args)

{

System.out.println("MInha primeira aplicação Java ! !&quot);

}

}



mas mesmo assim: :x

C:\Documents and Settings\Julio Sampaio>java MeuPrograma
Exception in thread "main" java.lang.NoClassDefFoundError: MeuPrograma

H

Kra…eh o seguinte…pelo q vc colocou…vc está escrevendo java MeuPrograma…ou coisa parecida…
o comando java serve para vc executar o programinha que vc criou…

No erro que apareceu, ele diz que nao encontrou a classe especificada…justamente porque a mesma nao foi criada…e para isso eh necessario compilar o arquivo .java que vc criou…ou seja:

Vamo analisar:

class MeuPrograma

{

public static void main(string[] args)

{

System.out.println(MInha primeira aplicação Java ! !);

}

}

No método main…o string deve ser escrito com a primeira letra maiuscula(erros de sintaxe - normal com iniciantes - pois eu tbm sou)…
O resto está ok…

Salve o arquivo com a extensão .java…

Assim como disse, o comando java serve para executar, e o comando javac serve para compilar o arquivo e criar um bytecode(.CLASS).
No caso, vc nao compilou e tentou executar direto…entao compile-o…

No cmd, digite:

javac NomeDoArquivo.java

ai ele vai verificar se esta tudo certo na classe…e vai gerar o arquivo .CLASS…

Depois, digite:

java NomeDaClasse

e ele ira executar o programa, imprimindo o que vc solicitou no coddigo…certo???Espero ter ajudado…

Emersonsts

hum…

public class MeuPrograma {
public static void main(String[] args) {
System.out.println("MInha primeira aplicação Java ! !");
}
}

compilar:

javac MeuPrograma.java

rodar:

java MeuPrograma
kaique

Tenta trocar o operador de visibilidade da sua classe…você precisa ter sempre, no mínimo, uma classe com a visibilidade pública.
Tenta trocar essa linha:

class MeuPrograma

Por essa:

public class MeuPrograma

[]'s.

Zaitssev

Caras fiz o q o Kaique disse :

public class MeuPrograma

{

public static void main(String[] args)

{

System.out.println("MInha primeira aplicação Java ! !&quot);

}

}

Dai digitei no cmd : javac MeuPrograma
Então :

C:\Documents and Settings\Julio Sampaio\Desktop\JAVA\testes>javac MeuPrograma
javac: invalid flag: MeuPrograma

Zaitssev

FInalmente vlw mesmo galera !

Emersonsts

fiz o q vc disse :

[b] compilar:

  1. javac MeuPrograma.java

javac MeuPrograma.java

rodar:

  1. java MeuPrograma [/b]

dai deu certo, vcs todos ajudaram vlw mesmo pessoal !

Forum massa, mas o q faz o Forum são os Integrantes né! :wink:

J

Cuidado! Não é obrigatório ter uma classe com visibilidade pública, e se existir uma, ela deverá ser única para um mesmo arquivo .java. Além disso o arquivo deverá (obrigatoriamente) possuir o mesmo nome da classe pública. Caso não exista uma, essa restrição de nomeação do arquivo perde sua validade, podendo o arquivo receber qualquer nome, obviamente um nome válido para arquivos.

Emersonsts

Disponha meu Amigo…

É que qdo nao se esta usando nenhuma IDE vc mesmo tem q compilar a aplicação através do comando javac…
Compilar é criar o .class dela para que possa rodar…
Na real o .java é fonte e o .class q é o q a JVM usa…
Nao tenho certeza absoluta sobre isto mas acho q é por ai…

Quando se usa uma IDE ela ja compila qdo vc salva… Pelo menos no eclipse é assim… ;]

t+

PS: o hyperorgan tbm deu a resposta um pouco mais detalhada

amor_et_tussis_non_c

…meo testei aqui e ta blz…tive um problema assim mas resolvi usando o javac no mesmo diretório onde ta o meu arq e arrumei as variaveis de sistema… alias da uma olhada nelas e vê se a configuração ta blz…qq coisa posta ai q a galéra te ajuda com elas…tipo assim…boa sorte ai.

C:\Documents and Settings\marcos>cd desktop

C:\Documents and Settings\marcos\Desktop>javac MeuPrograma.java

C:\Documents and Settings\marcos\Desktop>java MeuPrograma

MInha primeira aplicaþÒo Java ! !

C:\Documents and Settings\marcos\Desktop>

LPJava

olha se o arquivo em anexo ti ajuda… ele ja fez alguns milagres :smiley:

Criado 9 de fevereiro de 2008
Ultima resposta 18 de fev. de 2008
Respostas 13
Participantes 7