Ubuntu semble préférer OpenJDK / JRE à Sun JDK / JRE. Même après avoir installé Sun JRE, JDK et le plugin et passé du temps à extraire les paquets liés à OpenJDK, apt-get les a réinstallés avec certains paquets en tant que dépendance. Ce comportement peut-il être corrigé en faveur des packages Sun Java? J'aimerais disposer d'une seule et unique pile Java (oui, c'est un peu d' OCD , mais j'aime bien que mes systèmes soient propres) et je souhaite qu'il s'agisse de Sun Java.
Mise à jour: comme le note Marcos Roriz, le problème semble être dans default-jre (sur lequel les paquetages dépendants de Java s'appuient pour dépendre) pointant sur OpenJDK, la question semble donc être de savoir comment pirater default-jre / default-jdk à Sun Java.
Réponses:
Installation de Sun Java sur d’anciennes versions d’Ubuntu (versions 9.10 et antérieures)
J'ai eu le même problème il y a environ trois ans avec Ubuntu 8.04, je pense. Il y avait un problème étrange lors de l'utilisation d'Openjre et le problème a été résolu en utilisant la version Sun Jre. Voici les étapes du terminal qui s'appliquent aux versions inférieures à 10.04, car à partir de 10,04, sun java a été supprimé et remplacé par openjre:
(Tout ce qui concerne Sun java. Juste pour être sûr)
Après cela, si vous supprimiez openjdk, vous n’auriez alors que le java du soleil. Si vous ne l'avez pas retiré, vous en avez les deux. Pour passer de l'un à l'autre, procédez comme suit:
sudo update-java-alternatives -l
- Cela vous montrera la liste des moteurs Java que vous pouvez utiliser.Le nom de l'alternative java est celui situé à gauche. Par exemple, openjdk devrait ressembler à ceci:
Et vous définiriez le système sur openjdk comme ceci:
Si vous souhaitez utiliser Sun, procédez comme suit (après l'installation des packages Sun):
Si vous souhaitez utiliser la version java 7, modifiez simplement le numéro 6 mentionné ci-dessus pour 7. Par exemple, si je voulais installer la version 7 openjre, je voudrais:
Installation de Sun Java sur les nouvelles versions d’Ubuntu (10.04 et plus)
Ouvrez le terminal et tapez ce qui suit:
Cela devrait installer la version de Sun Java sur votre système. Pour le modifier, procédez comme suit si vous avez d'autres alternatives Java:
Si vous souhaitez que l'installation soit automatique, tapez ce qui suit:
Ensuite, procédez comme suit pour définir les variables d’environnement par défaut:
Notez que le PPA inclut les versions 6, 7 et 8. Vous pouvez donc installer n’importe laquelle d’entre elles en modifiant simplement le numéro dans la ligne d’installation, par exemple:
Installez Java 8. Après avoir installé la version Java que vous souhaitez utiliser et défini la version par défaut à l'aide de la
update-java-alternatives
commande, vous pouvez vérifier quelle version vous utilisez en tapant ce qui suit:Il vous montrera la version par défaut que vous utilisez à ce moment.
Je voudrais également mentionner qu'OpenJRE / JDK a parcouru un long chemin depuis 2 ou 3 ans, alors que de nombreux problèmes avaient été résolus en passant à Sun Java.
la source
Je pense que le problème est que certains packages Java reposent sur default-jre, qui pointe sur openjdk-jre. Je ne pense pas qu'il y ait un moyen facile de désinstaller définitivement openjdk. Le fait est que vous rencontrerez probablement openjdk à nouveau lorsque vous installerez un package / programme java.
Mais si vous êtes prêt à avoir les deux, est-il facile de définir les programmes d'exécution Java (java, javah, javap, etc.) sur la mise en œuvre de sun. Fais le:
ou si vous êtes un développeur java (installez sdk et srcs):
Et définissez-le comme programme par défaut avec:
la source
default-jre
paquet pour qu'il pointe vers soleil-Java ce soir. En ce moment je suis au travail.Le
.jdk1.6.0_23.jinfo
fichier doit être une liste des programmes fournis et de leurs chemins. Il y a un en-tête descriptif suivi d'une ligne vide. Ensuite, une liste des programmes dans un format à trois champs: type d’entrée (jre / jkd / plugin); nom du programme; et chemin. Vous devriez avoir quelques fichiers jinfo que vous pouvez utiliser pour voir à quoi le contenu devrait ressembler. Ceci est probablement utilisé par le mécanisme des alternatives pour déterminer les liens à créer. La tête de mon paquet Sun est.Si vous souhaitez remplacer les commandes Java par défaut sans utiliser le mécanisme des alternatives, placez votre chemin Java devant / usr / bin dans votre chemin.
Lors d’une installation manuelle, j’installe Java dans
/opt
. pour votre installation j'aurais installé dans/opt/jdk1.6.0_23
. Ensuite, je mets le chemin$JAVA_HOME/bin
au début de maPATH
variable.EDIT: Il s’agit de l’ensemble du fichier Sun. La note
.java-6-sun.jinfo
est un lien symbolique vers.java-6-sun-1.6.0.22.jinfo
.la source
Supprimer openjdk et icedtea:
ajoutez ce qui suit à /etc/apt/sources.list
installer Sun / Oracle JRE ou JDK:
la source
Avez-vous vérifié?
Si vous n'en avez pas besoin: Désinstallez openjdk et gcj dans synaptic ou avec apt-get.
À ce moment-là, je bannirais java des alternatives et ferais surtout ce que BillThor avait suggéré, pourquoi je lui ai donné un vote positif.
devrait indiquer où vous avez installé Java et où il se trouve dans le chemin.
la source
which
commandes et rien ne s'affiche . Découvert que j'avais oublié le symbole $ avant la variable JAVA_HOME dans PATH, je vais redémarrer maintenant et voir comment ça se passe.which
commande n'affiche toujours rien. Les variables JAVA_HOME et PATH sont correctes: echo $ JAVA_HOME /usr/lib/jvm/jdk1.6.0_23 echo $ PATH $ JAVA_HOME / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games Où pourrait être le problème? Edit: DIEU DE DIEU IT, pourquoi n'y a-t-il pas de sauts de ligne dans les commentaires ??echo $PATH $JAVA_HOME/bin:/usr/local/sbin...
mais dans le résultat, $ JAVA_HOME doit être évalué - il y a quelque chose qui ne va pas, ou votre rapport est erroné. c) Linebreaks: ils ne sont pas là, de sorte que nous appuyons constamment trop tôt sur ENTRÉE, puis le tic-tac d'horloge, parce que le montage n'est autorisé que pendant quelques minutes - je suis constamment dans ce piège. Je déteste ça! :)echo $JAVA_HOME
bien ...echo $PATH
impression$JAVA_HOME...
ou est - elle imprime la valeur JAVA_HOME, à savoir:/usr/lib/jvm/jdk1.6.0_23
?java -version
dans un shell (Sun java uniquement)sudo update-java-alternatives -l
et cela ne fonctionne que si deux jdk sont installés et que vous voulez définir sun-java comme environnement par défaut
la source
Sous Ubuntu 10.10, il semble que vous deviez marquer pour la suppression libaccess-bridge-java en premier dans Synaptic, puis marquer openjdk-6-jre-headless.
Je me suis retrouvé avec une liste à supprimer:
Cela a fonctionné, mais il a laissé un répertoire
/etc/java-6-openjdk
avec des fichiers et des sous-répertoires assortis, que j’ai isolé dans un nouveau répertoire. Il n'y a eu aucun effet inhabituel, donc ce n'est vraisemblablement qu'un reste.Cela m'a laissé avec le Java que j'avais téléchargé directement depuis le site Web Java. Cependant, malgré l’avoir défini comme valeur par défaut et la création du lien vers le répertoire des plugins Firefox, cela ne fonctionnait plus. L'installation de sun-java6-jre et de ses packages associés gsfonts-x11, odbcinst, odbcinst1debian2, sun-java6-bin et unixodbc, via Synaptic, a vu le plugin Java recommencer à fonctionner. Suppression du lien dans le répertoire plugins et son remplacement par le fichier libnpjp2.so ne fonctionnait pas. L'utilisation d'un lien vers les fichiers libjavaplugin_oji.so dans les répertoires ns7 ou ns7-gcc29 de Java installés via Synaptic ne fonctionnait pas non plus. Cela me suggère que pour obtenir le dernier plugin Java dans Firefox, il est possible de suivre les instructions du site Web Java, et que le système Java intégré de la version la plus récente est nécessaire pour exécuter le fichier Java téléchargé. qui repose ensuite pour son fonctionnement sur les fichiers qui l’entourent une fois le plugin activé. Bien qu'il soit nécessaire de bien comprendre le code comprenant Java et Linux pour vraiment résoudre ses mystères, ces expériences sont peut-être utiles pour déterminer les raisons pour lesquelles deux Java peuvent être nécessaires dans ce cas. Au moins, il est également possible de supprimer tout Java, si cela est utile.
la source
Ce que je fais sur les nouvelles machines Ubuntu 10.10 est
Alors ça va pour moi, plus de dépendances openJDK
la source
Les réponses données à cette question ne fonctionnaient pas pour moi. En d'autres termes, les éléments suivants ont échoué:
Avec l'erreur:
Essayez plutôt ces instructions :
icedtea-6-jre-cacao
), s'il est installé.Le OpenJDK (IcedTea) est maintenant installé, ce qui devrait vous permettre (si vous aviez cette erreur) de continuer à installer le JDK d’Oracle sans erreur.
Voir également:
la source
Premièrement: supprimez le plugin openjdk et icedtea.
Deuxièmement: copiez le fichier .bin jdk dans / opt ou / usr / java et extrayez-le.
Troisièmement: mettez un lien du fichier java vers / usr / bin /
mettre à jour les alternatives en utilisant update-alternatives
Créez un lien symbolique vers le plugin Java dans le répertoire des plugins Firefox.
Créez un lien symbolique vers le fichier libnpjp2.so du plugin Java dans le répertoire des plugins Firefox:
J'espère que cela t'aides.
la source