quarta-feira, 8 de janeiro de 2014

Usando os comandos javac e java

Resumo de estudos para Certificação Java 6 - SCJP

O meu resumo toma por base o guia de estudos do livro "Certificação Sun para Programador Java 6" Guia de Estudo - SCJP - Exame 310-065


Capítulo 10 - Usando os comandos "javac"

O comando javac é usado para chamar o compilador Java.
Para o exame será preciso entender as opções -classpath e -d passadas no comando javac.
A estrutura do comando é: javac [opções] [arquivos-fonte]
Tanto as opções quanto os arquivos-fonte, são opcionais e ambas permitem múltiplas entradas.
Ex: javac MyClass1.java MyClass2.java


Compilando com -d
Por padrão, o compilador coloca o arquivo .class na mesma pasta do arquivo .java
A opção -d serve para dizer ao compilador em que pasta ele deve colocar os arquivos .class dos arquivos .java
Sendo assim, quando você chama o compilador passando a opção -d você deve em seguida especificar a pasta que deverá ser destinada o arquivo .class após a compilação da classe java.
Imagine a estrutura de pastas do projeto:

meuProjeto

meuProjeto\source
meuProjeto\source\com\MinhaClasse.java

meuProjeto\classes

Se eu estiver no diretório meuProjeto, ao executar o comando do exemplo abaixo, estou dizendo ao compilador que quero que minha classe compilada, ou seja, o arquivo MinhaClasse.class seja movida para a pasta meuProjeto\classes\ deixando assim a estrutura de arquivos bem organizada e de fácil manutenção.
Ex: javac -d classes source/com/MinhaClasse.java

Obs1) Mesmo que o diretório \classes\ não contenha uma pasta \com\ como em source, o compilador criará automaticamente a pasta para manter a mesma estrutura da pasta source.
Obs2) Caso a pasta \classes\ não exista, o compilador acusará o erro de compilação abaixo:
javac: directory not found: classes
Usage: javac <options> <source files>
use -help for a list of possible options