[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

RE: Duvidas



Fabio Kimura writes:

 > 	Ainda não entendi (e muitos outros também não), como funciona essa
 > estrutura de diretórios incluída no package. Afinal, onde devem ficar os
 > arquivos, em ep2/br/usp/ime/jbase ? Ou em ep2/ mesmo ?

O melhor é separar os arquivos-fonte (.java) dos arquivos .class gerados
pelo java. 

Crie, dentro de /seu_home/ep2/, os subdiretorios /seu_home/ep2/sources e
/seu_home/ep2/classes. Coloque os arquivos .java do pacote jbase em
/seu_home/ep2/sources/br/usp/ime/jbase.

Para compilar um arquivo-fonte (Page.java, por exemplo) execute: 

    cd /seu_home/ep2/sources
    javac -d /seu_home/ep2/classes br/usp/ime/jbase/Page.java

O javac colocará o arquivo Page.class no diretório
/seu_home/ep2/classes/br/usp/ime/jbase. 

No exemplo acima eu chamei o javac a partir do diretorio
/seu_home/ep2/sources. Isso é importante, pois esse é o diretório que
contém a hierarquia (br/usp/ime/jbase) correspondente ao nome do
pacote. O javac percorre essa hierarquia para achar os arquivos-fonte
das outras classes do pacote que forem referenciadas classe sendo
compilada.

Chamar o javac a partir de um diretorio qualquer é bem mais chato:

   javac -d /seu_home/ep2/classes \
         -classpath /seu_home/ep2/sources:/usr/lib/jdk1.1/lib/classes.zip \
         /seu_home/ep2/sources/br/usp/ime/jbase/Page.java

(No classpath acima eu assumi o jdk1.1 no linux.) Claro que ninguém
fica digitando esse tipo de coisa... Você digita uma vez só, no
makefile. 

 > E como deve ficar o
 > makefile ?? Não seria mais fácil você simplesmente mostrar como devem
 > ficar os diretórios e o makefile, ao invés de perdermos tempo tentando
 > descobrir ??? 

Um exemplo de makefile já foi enviado para esta lista. Veja a mensagem
que o Alexandre Freire mandou no dia 13 de abril. É verdade que o
exemplo não levava em conta a estrutura de diretórios do package, mas é
fácil corrigir isso.

Discordo de você na questão da "perda de tempo". Não acho que seja perda
de tempo procurar informações na documentação de Java ou do make!

Sobre packages, recomendo novamente esta "trail" do Java tutorial:

    http://www.linux.ime.usp.br/java/tutorial/java/more/packages.html

Sobre o make, chame o emacs na rede linux do imeusp, depois digite
ctrl-h i (com esta seqüência de teclas voce entra no info do
emacs). Estando no info, escolha a tópico Make para ver a documentação
on-line do Make.

Reverbel