3. Usando o javac
• Opção –d
– Permite que você defina um diretório para
seus .class
• javac –d ../classes MyClass.java
– Se o diretório destino não existir, o
compilador mostrará um erro
4. Usando o java
• java [options] class [args]
– [options] e [args] são opcionais e podem ter
múltiplos argumentos
– Não precisa especificar o “.class”
5. Usando as Propriedades do Sistema
• Pode ser usada para acessar uma
informação persistente do sistema
– Java Virtual Machine, Sistema Operacional,
etc
• Você pode adicionar ou recuperar suas
próprias propriedades
– java –DmyProp=MyValue Class a 1
6. Usando as Propriedades do Sistema
• Se o valor tiver espaços, esse deve ter
aspas
– java –DcmdProp=“cmdVal take 2” TestProps
• Você pode adicionar e recuperar suas
propriedades usando setProperty(String
key, String value) e getProperty(String key)
• getProperty retorna uma propriedade como
String
7. Usando as Propriedades do Sistema
Properties p = System.getProperties();
p.setProperty(quot;myPropquot;, quot;myValuequot;);
p.getProperty(“os.name”)
8. Argumentos de Linha de Comando
• public static void main(String args[]){}
– args contém os argumentos passados no
java para a classe
• Exemplo
– java MyClass x eu
• args[0] = x
• args[1] = eu
9. Procurando por outras Classes
• Quando usamos o java e javac, na
maioria dos casos queremos que ele ache
outras classes
• Classes do JSE
– Pacotes:
• java.lang
• java.util
10. Procurando por outras Classes
• Ambos tem uma lista de locais que
procuram por outras classes
• Se achar duas ou mais classes com o
mesmo nome, ambos usam a que primeiro
achar
• Primeiro vão no diretório do JSE
11. Procurando por outras Casses
• Depois procuram no diretório definido
pelo classpath
• O classpath pode ser definido. Se não
for definido é usado o definido pela
variável de ambiente do Sistema
12. Classpath
• Consiste em um número variável de
locais de diretórios separados por
delimitadores
– / no Unix
– no Windows
r
• Separador de locais
–:
13. Classpath
• Exemplo
– classpath /home/eu:/var/www
– Especifica dois diretórios a se procurar
• /home/eu
• /var/www
• Quando especifica um diretório não está
especificando os acima dele
– /home ou /var
• Pode-se usar apenas [-cp]
14. Classpath
• Quando especificamos o classpath o java
e javac não mais procuram no diretório
corrente
• Coloca-se um ponto
– classpath /home/elenilson:/var/www:.
• A ordem dos diretórios importa
16. Pacotes
• O nome do pacote não pode ser
subdividido
• Pode-se usar uma classe
– Colocando seu nome totalmente qualificado
• com.foo.MyClass = ...
– Colocando uma declaração import e usando
seu nome falso
18. Java Archive (JAR)
• Criar
– jar –cf MeuJar.jar meuDiretório
– Cria o JAR MeuJar.jar com a aplicação do
diretório meuDiretório
• Listar conteúdo
– jar –tf MeuJar.jar
19. Java Arquive (JAR)
• Procurar arquivos em pacotes do jar é
semelhante
• Basta incluir no final do classpath o
nome do jar
– javac –cp ws/MeuJar.jar Exemplo.java
20. jre/lib/ext com JAR
• java e javac utilizam esse diretório para
encontrar classes que sua aplicação
precisa
• Isso é definido por padrão
• Se você colocar um jar dentro desse
diretório, vai poder usar as classes do
jar sem necessitar do classpath
21. Import estático
• É usado quando você quer utilizar os
membros estáticos de uma classe
• Cuidado com ambiguidades
– Se você fizer import estático de um
Integer e um Long e usar MAX_VALUE, o
compilador não saberá de quem é e acusará
um erro.