Como compilar classes em pacote

10 respostas
Vanilson

Pessoal gostaria de saber como posso compilar uma classe que se encontra em um pacote, do tipo eu tenho uma pasta de nome e dentro dela tenho uma classe Pessoa gostaria de saber como compilar.

10 Respostas

JMARQ

Vanilson, qual a IDE que você esta usando? Caso seja o Netbeans, basta apenas localizar a classe que deseja e com ela aberta digite SHIFT + F6, vale lembrar que para a classe ser compilada precisa-se ter um main.

Vanilson

JMARQ, não estou a usar nenhuma IDE o problema está msmo ai, na IDE é facil agora na linha de comando está complicado.

romarcio

A maneira mais simples é abrir o console e ir até o diretório que se encontra a classe que quer compilar, quando estiver dentro dele execute o javac.

Vamos dizer que seu pacote com a classe seja: br.com.projeto
E ele se encontra no diretório: c:\MinhasApps\MeuProjeto\src

Então faça:

c:\MinhasApps\MeuProjeto\src\br\com\projeto>javac MinhaClasse.java

//ou

c:\MinhasApps\MeuProjeto\src>javac br/com/projeto/MinhaClasse.java
Vanilson

Romarcio, a segunda opção funcionou, so q para uma questão de organização pretendo colocar todos os bytecode gerados ao compilar numa pasta denominada por classes até ai tudo bem, eu faço javac -d classes view/ApresentacaoGui.java então ele compila so q na hora de o interpretador ler o bytecode ele não consegue porque não se encontra na pasta view mais sim em classes fora da pasta view.

romarcio

Trabalhando com pacotes:
Vamos dizer que nosso projeto possui a seguinte estrututa de diretorios: projeto/src/com/empresa
E dentro do diretorio empresa, temos a classe principal OlaMundo.java

Importante: no topo do arquivo OlaMundo.java, devemos incluir a instrução: package com.empresa;
Para indicar que a classe pertence a este pacote.

Não é necessário criar os diretórios com e empresa dentro da pasta class, o próprio
-d vai cria-los caso eles não existam.

Para compilarmos:
c:\projeto\src>javac -d ../class com/empresa/*.java
Para rodar o projeto depois de compilado:
c:\projeto\class>java com.empresa.OlaMundo
Vanilson

Romarcio funcionou na perfeição, mais tenho so mais uma pequena duvida. Do tipo, tambem preciso gerar um ficheiro com extensão bat para compilar e para executar o ficheiro de compilação funciona normal eu coloquei lá o seguinte:

javac -d classes view/*.java modelo/*.java

Já o de execução não funciona e lá eu coloquei o seguinte:

java classes/view/ApresentacaoGui
romarcio

E qual a mensagem que aparece no console quando vc tenta rodar?

Vanilson

Ele gera uma exception que diz o seguinte:

Exception in thread "main" java.lang.NoClassDefFoundError: classes/view/ApresentacaoGui <wrong name: view/ApresentacaoGui>
pmlm
romarcio:
Para rodar o projeto depois de compilado:
c:\projeto\class>java com.empresa.OlaMundo
No teu caso:

java view.ApresentacaoGui

Vanilson

pmlm, já fiz isso e não funciona.

Criado 12 de junho de 2011
Ultima resposta 13 de jun. de 2011
Respostas 10
Participantes 4