PUBLICIDADE
Este artigo tem nota
10

Autor

undertaker

Alex Duke Nukem

membro deste dezembro de 2007

Tags

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

O mercado de publicidade na web chegou no seu limite?
domingo, 28 de dezembro de 2008

Dúvidas aos iniciantes em java


Como compilo um programa?



Após ter instalado o JDK, basta usar o programa "javac" para compilar seus arquivos .java. O javac significa "java Compiler". Por exemplo, digamos que você tenha criado um arquivo chamado PrimeroTeste.java.

Para compilar o mesmo, digite:

javac PrimeiroTeste.java 


O javac deve estar no seu path. Ele fica no diretório de instalação do seu java, dentro do /bin.

Como executo um programa em Java?



Excecute-o com o comando "java", seguido do nome do Arquivo sem extensão. Por exemplo, se voce compilou um programa chamado PrimeiroTeste.java, verá que foi criado um arquivo chamado PrimeroTeste.class, o qual é o código binário do seu programa. Para executar ele, simplesmente digite

java PrimeiroTeste


Note que apenas informamos o nome do progarma, sem extensão alguma. Isso fará com que a JVM, Java Virtual Machine, seja iniciado, e "carregue" a sua classe, executando-a.

Ao tentar rodar algum programa ocorre o seguinte erro:

Exception in thread "main": Java.lang.NotClassDefFoundError

Você está digitando o nome da sua classe corretamente? Lembre-se que java é case sensitive, isto é, ele diferencia maiúsculas de minúsculas!

Este erro também pode ocorrer quando a variável CLASSPATH não esta corretamente configurada. O erro mais comum é esquecer de adicionar o diretório atual ( especificado por um ponto ) ao CLASSPATH. Algumas vezes tal variável é configurada assim:

CLASSPATH=/home/usuario/java/algum_pacote.jar


Note que nesse caso o CLASSPATH somente esta apontando para o arquivo "algum_pacote.jar", não contendo o "ponto". O correto nesse caso é

CLASSPATH=.:/home/usuario/java/algum_pacote.jar 


Nota: o mesmo vale para o Windows, com a diferença que os diretórios sào separados por ponto-e-vírgula ao invés de dois-pontos.

Verifique também se você está no diretório certo! Você deve estar no diretório em que a classe se encontra, ou, no caso de ser uma classe dentro de um pacote (existir a instrução package), você deve estar no diretório "raiz" do pacote, e chamar o java com o nome inteiro da classe.

Ao tentar executar algum programa, acontece o seguinte erro:

Exception in thread "main": java.lang.NoClassDefFoundError: MeuPrograma/class

Muito próximo do problema anterior, aqui é na verdade falta de atenção ao tentar rodar o programa. Como explicado anteriormente, devemos executar os programas feitos em Java sem usar a extensão do arquivo. No exemplo acima, o usuário tentou executar o programa da seguinte forma:

java MeuPrograma.class


Dessa forma, o Java tenta encontrar o programa "class" dentro de um diretório (pacote) chamado "MeuPrograma", o qual logicamente não existe. Para resolver, basta executar assim:

java MeuPrograma


Ao rodar o programa, dá o seguinte erro:

java.lang.NoSuchMethodError : main

Um dos erros clássicos da galera que esta iniciando em Java. Tal erro ocorre quando algum programa que não contém uma declaração válida da função main() é executado. Considere os seguintes exemplos:

1 JavaMainBug1.java
2 public class JavaMainBug1
3 {
4 public void ola()
5 {
6 System.out.println("Olá");
7 }
8 }


Compile (javac JavaMainBug1.java) e tente executar (java JavaMainBug1).

Note que o erro (java.lang.NoSuchMethodError : main) ocorre. Isso se deve ao fato de não ter sido declarada a função main().

Para resolver o problema, simplesmente adicione o seguinte:

1 public static void main(String args[]) 
2 {
3 }



A função main() precisa necessariamente ser "static void", e conter um paramêtro array do
tipo String. Veja este outro exemplo:

1 JavaMainBug2.java
2 public class JavaMainBug2
3 {
4 public static void main()
5 {
6 System.out.println("Ola");
7 }
8 }


Compile-o e tente executar. O problema neste caso é a falta do paramêtro na função. Um último problema que pode vir a ocorrer é definir a função main() dessa forma:

1 public static void main(String args)


Note que a variável "args" nesse caso não é um array, quando na verdade deveria ser.

Outros exemplos de assinatura do método main que não são tão usuais, mas funcionam:

1 public static void main(String args[])
2 static void main(String [] args)
3 final synchronized protected void main(String argumentos[])
4 ...


Não se incomode caso você não entenda estas linhas de declaração do main, praticando java você as entendará.

Como vejo qual versão do Java tenho instalada?

Use o comando:

java -version


Criei um arquivo chamado PrimeiroTeste.java, mas o compilador se recusa a compilá-lo; e porque sou obrigado a usar a extensão ".java" nos arquivos de código fonte?

O compilador javac leva em consideração que todo arquivo com código fonte Java deva ter a extensão .java. Qualquer coisa diferente disso nem chegará ao processo inicial de compilação.

ArquivoTipoTamanho 
duvidas do iniciante.docArquivo DOC38 KbBaixar o Arquivo
Sim   Não   Este artigo foi útil para você?
NotaComentário
10
desknot comentou em 12/1/2009

Bom

achei o artigo tutoriais bom só nao so muito fan de java
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.