update-java-alternatives vs update-alternatives --config java

69

No Ubuntu 12.04 LTS, instalei o JDK7, o Eclipse e o Arduino IDE da Sun. Eu quero que o Arduino use o OpenJDK 6 e queira que o Eclipse use o JDK 7.

da Sun

Pelo que entendi, eu preciso escolher manualmente qual Java usar antes de executar cada aplicativo. Isso me levou ao comando update-java-alternatives -l . Quando eu executo isso, vejo apenas o seguinte:

java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64

mas quando executo update-alternatives --config java , vejo o seguinte:

*0  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   auto mode
1  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   manual mode
2  /usr/lib/jvm/jdk1.7.0/bin/java                   manual mode
3  /usr/lib/jvm/jre1.7.0/bin/java                   manual mode

Eu não entendo porque o update-java-alternatives não exibe as mesmas 3 opções. Eu também não entendo como alternar entre OpenJDK6 e JDK7. Como posso usar o OpenJDK6 para o desenvolvimento do Arduino e o Sun JDK7 para o desenvolvimento do Eclipse / Android?

    
por Stan Smith 03.07.2013 / 00:32

2 respostas

98

sudo update-alternatives --config java

Configura o padrão para o programa "java". Essa é a VM Java.

sudo update-alternatives --config javac

Configura o compilador Java padrão.

Você também pode ver isso, porque o primeiro comando lista várias pastas "JRE" (Java Runtime Environment) e o Programa é chamado apenas de "java".

Se eu verificar qual versão está sendo usada, emitindo o comando %código% ou %código%, Eu posso ver que cada comando muda o programa que está sendo usado.

No entanto, usar java -version com uma Versão do JDK altera ambos programas para mim. Usando os primeiros comandos, você pode usar um Java VM e um Java Compiler a partir de diferentes JDKs.

Então parece que você precisa instalar o pacote javac -version também. Parece que você instalou apenas update-java-alternatives .

Quanto à mudança para diferentes ambientes de desenvolvimento:

Você está falando sobre iniciar o próprio IDE com diferentes versões de Java ou usar diferentes versões no IDE para compilação e execução de seu aplicativo?

Para 1 .: Você pode especificar qual JVM usar no eclipse.ini, conforme descrito aqui . Eu não sei como fazer isso para o Arduino IDE.

Para 2 .: No Eclipse, você pode selecionar o JRE / JDK a ser usado na Janela - > Preferências - > Java - > JREs instalados. E sob Java - > Compilador você poderia escolher uma conformidade Java mais antiga, se desejar.

EDITAR: Esta página da DigitalOcean também tem um muito boa explicação de tudo relacionado ao Java no Ubuntu.

    
por Benjamin Maurer 10.12.2013 / 12:17
13

update-java-alternatives é um programa para atualizar alternativas para jre/jdk instalações.

update-alternatives é um sistema de gerenciamento de link simbólico para o linux (tenho certeza que há poucas novidades aqui).

Você pode, e realmente deveria, usar os dois update-java-alternatives e update-alternatives .

Primeiramente, certifique-se de ter todas as alternativas configuradas corretamente. java e javac são apenas alguns. Há javadoc , rmic , serialver e outros, substituindo as variáveis acima por: native2ascii e /opt/jdk1.8.0_40/bin/native2ascii devem informar se a alternativa está instalada e / ou selecionada.

Quando todas as alternativas estiverem configuradas, você poderá criar links em /usr/lib/jvm para a sua instalação manual.

Para configurar o update-java-alternatives , você deve usar um arquivo oculto com o mesmo nome de seu diretório, mas prefixado por a. (ponto).

Espero que isso ajude.

Bibliografia

man -S 8 update-java-alternatives

link

link

    
por fmmarques 23.08.2015 / 20:11

Tags