J'ai téléchargé Oracle SQLDeveloper, mais lorsque je l'ai ouvert, il a été indiqué qu'il nécessite un minimum de Java 8) et m'a fourni le site Web pour le téléchargement. J'ai ensuite téléchargé: Java 10.0.1, mais lorsque je suis revenu pour ouvrir SQL, il a continué en disant que cela nécessitait un minimum de Java 8.
J'ai vérifié que le Java 10.0.1 s'était correctement installé. Je suis presque sûr qu'il l'a fait. Il apparaît dans les Préférences Système et lorsque vous cliquez dessus, il ouvre le Java Panneau de configuration très bien.
J'avais également trouvé quelqu'un recommandant d'essayer cette commande:
c:\Program Files\Oracle\sqlcl\17.3\sqlcl\bin>Java -version
Après avoir essayé cela dans le terminal, je me suis retrouvé avec command not found
.
Je suis sur un MacOS X El Captain 10.11.6.
Le message ci-dessus est correct: SQLDeveloper ne fonctionne que sous Java 8 .
Ceci est contre-intuitif car d’autres programmes fonctionnent sous au moins version X d’un logiciel (pas uniquement la version X ). J'ai gardé le téléchargement Java 11 sans succès.
Après une tentative infructueuse il y a un mois et deux heures de recherche aujourd'hui, J'ai trouvé cette solution facile a fonctionné pour moi.
Solution
Supprimez les fichiers et les dossiers Java suivants sur votre mac).
Téléchargez et installez Java 8. https://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html
Lancez SQLDeveloper.
Si vous consultez la page de téléchargement ( http://www.Oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html ), il est indiqué que JDK8 est requis. Je ne pense pas que cela supporte Java 9 ou 10. De nombreux programmes ne le font toujours pas.
Quant à la commande que vous avez essayée, elle s’applique à Windows, il n’existe pas de c:\Program Files sur MacOS. Il devrait suffire de courir Java -version
.
Vous voudrez peut-être vérifier comment vous pouvez exécuter plusieurs versions Java, voir Mac OS X et plusieurs versions Java) . Il s'agit d'un un peu brouillon, mais tôt ou tard vous en aurez besoin!
Le développeur SQL exécute ce qui vérifie Java 9 puis 8. Nous ne prenons pas encore en charge (manque d'une tonne de tests) Java 10. Vous êtes allé à nouveau pour nous, retournez à 8 ou 9 et ça devrait aller.
Nous utilisons /usr/libexec/Java_home
qui nous permet de spécifier la version de Java que nous aimerions exécuter. Ainsi, même si vous avez N javas installés, il devrait renvoyer la version la plus élevée transmise avec des indicateurs.
#!/bin/bash
##### THIS IS CHECKING FOR Java 9 #####
TMP_PATH=`/usr/libexec/Java_home -F -v 9`
if [ -z "$TMP_PATH" ] ; then
##### THIS IS CHECKING FOR Java 8 #####
TMP_PATH=`/usr/libexec/Java_home -F -v 1.8`
if [ -z "$TMP_PATH" ] ; then
osascript -e 'tell app "System Events" to display dialog "SQL Developer requires a minimum of Java 8. \nJava 8 can be downloaded from:\n http://www.Oracle.com/technetwork /Java/javase/downloads/"'
exit 1
fi
fi
Si OpenJDK fonctionnerait pour vous, et que vous utilisez déjà/souhaitez utiliser Homebrew , AdoptOpenJDK fonctionne pour moi:
brew tap AdoptOpenJDK/openjdk
brew install adoptopenjdk8
Je n'ai pas testé cela à fond, mais je peux au moins faire apparaître SQL Developer 19.1.0.094, me connecter à une base de données et y exécuter des requêtes.
Cela ne fonctionnait pas si j'essayais d'utiliser leurs instructions pour installer la "dernière" version: brew cask install adoptopenjdk
, car cela semble installer OpenJDK 12.x à compter de mai 2019.
Il existe d’autres méthodes pour installer OpenJDK, mais c’était simple.
J'ai eu le même problème et aucune des solutions ci-dessus n'a fonctionné pour moi. J'utilise MacOS 10.14.5
Au lieu de cela, je devais désinstaller Java12 que j'avais installé via home brew et sqlDeveloper. Après la désinstallation et la suppression des deux, j’ai installé Java8 JDK directement depuis le site Web d’Oracle par téléchargement, puis j’ai réinstallé sqlDeveloper. Après avoir perdu trois heures à essayer de faire fonctionner cela, cette série d’étapes a finalement permis de faire l'affaire. J'espère que cela aide les autres.