Managing Multiple Java Versions on Mac

Apple announced to remove Java Preferences app from Mac OS X http://support.apple.com/kb/HT5493. Let’s try to fix it. Generally, java applications will use the JAVA_HOME environment variable to pick a JDK.

To set to JDK 6

export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

To set JDK 7

export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

To set JDK 8

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

Created aliases for my zsh

alias setjdk16='export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)'
alias setjdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)'
alias setjdk18='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)'

You can also read Managing Multiple Java Versions on Mac using Jenv

Gerenciando múltiplas versões Java no Mac

A partir da versão 7, a Apple parou de gerenciar o JDK para Mac OS. Essa responsabilidade agora é da Oracle. Até a JDK 6, a Apple trazia como default o Java instalado, acredito que além de uma questão política das empresas, deve ter relação com o fato que de tempos em tempos sempre é publicado uma vunerabilidade da JVM em sites de segurança.

Porém, como desenvolvedor, pode ser necessário você trabalhar com várias versões de JDK e ai que entra a parte interessante da dica.

Na pasta ” /Library/Java/” do Mac OS estão todas as instalações do Java da sua máquina. Lá existem três pastas (Extensions, Home e JavaVirtualMachines). Na pasta JavaVirtualMachines é possível checar todas jdk instaladas, pois é salvo um arquivo, como “jdk1.7.0_21.jdk”.

Caso esteja testando o Jdk 8, e precise manter o 6 e o 7 configurado, é possível dinamicamente setar o JAVA_HOME, através de um simples comando, configurado no arquivo .bash_profile.

O arquivo bash_profile fica no caminho ~/.bash_profile e pode ser editado com qualquer editor do terminal, como vi, por exemplo.

Com o editor aberto, adicione as seguintes linhas ao arquivo:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

E para definir o comando que seta a JAVA_HOME atual, crie as três linhas abaixo:

alias setjdk16=’export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)’

alias setjdk17=’export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)’

alias setjdk18=’export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)’

Para definir qual jdk é a default, basta chamar o comando do alias.

Exemplo para setar JDK 6, executar setjdk16 e testar com javac -version ou java-version. O mesmo para as outras versões.

Desenvolvedor JAVA/Web

Pessoal,

Estou com 3 vagas para programador Java em SP, em um banco americano, muito bem colocado aqui no Brasil.

Vocês tem alguém para indicar ? Segue a descrição abaixo.

Desenvolvedor JAVA/Web Senior (1 vaga)

# Formação superior completa na área de informática
# Experiência mínima de cinco anos em desenvolvimento Java/Web
# Conhecimento desejável: Tomcat, Spring, Maven, Subversion, Pentaho Integration (Kettle) e SQL (Oracle e Sybase)
# Certificação de Java Programmer
# Desejável inglês fluente
# Local: Vila Olímpia, São Paulo – SP

Desenvolvedor JAVA/Web Pleno (2 vagas)
# Formação superior completa na área de informática
# Experiência mínima de três anos em desenvolvimento Java/Web
# Conhecimento desejável: Tomcat, Spring, Maven, Subversion, Pentaho Integration (Kettle) e SQL (Oracle e Sybase)
# Desejável certificação de Java Programmer
# Desejável Inglês fluente
# Local: Vila Olímpia, São Paulo – SP

Se você conhece alguém, pode encaminhar o CV para kleber.carvalho arroba gmail.com

Obrigado

Kleber Rodrigo de Carvalho

 

Oracle vs Google

Hoje eu decidi me atualizar sobre essa briga juridica entre Oracle vs Google, já que cada dia mais o Android está presente na minha vida.

Um artigo da lista the must read é Oracle vs Google: entrevista com Bruno Souza. Depois de entender e ter um overwiew e tentar entender o que está acontecendo, aconselho a ler também.

Details from Oracle’s Complaint Against Google na OSnews

Quite the firestorm – Escrito pelo James Gosling.

Mas se você quer entender de uma vez what’s going on nessa batalhar entre Oracle e Google no que se refere ao Android, aconselho a ler My Thoughts on Oracle v Google por Charles Nutter.

Kleber Rodrigo Carvalho