Depuis que j'ai commencé à travailler en tant que stagiaire en entreprise ces derniers mois, j'ai créé un environnement à chaque fois que la destination du stagiaire change, mais pour le faire correctement, je suis souvent tombé sur des erreurs causées par la version JDK. J'ai fait.
Vérifiez à chaque fois
Oh ... est-ce dû à la version JDK? Donc qu'est ce que tu vas faire? Comme il est stérile à vérifier, j'ai écrit un article sous forme de mémorandum.
Cet article est une solution de contournement pour votre cas d'utilisation, il peut donc ne pas s'appliquer à d'autres, mais j'aimerais le mettre à jour de temps en temps.
Premier,
java -vesion
Vous pouvez vérifier certaines versions de votre propre JDK en appuyant sur le terminal, donc pour votre référence.
How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
Mon JDK à ce moment
java 12.0.2 2019-07-16
était.
Certains modules ont été désapprouvés de la bibliothèque standard lorsque la fonction "Modules" a été ajoutée dans Java 9.
JAR externe requis pour utiliser JAXB sur Java 9 et supérieur # 49
Avec l'ajout de cette fonction, le module JAXB
est également obsolète et il semble que l'erreur ci-dessus s'est produite. Il ne sera pas reproduit dans Java 8 ou version antérieure, mais sera reproduit dans l'environnement Java 9 ou supérieur.
Pour Java 9, 10, options d'exécution
--add-modules java.xml.bind
Si vous spécifiez, vous pouvez le surpasser une fois.
Si vous trouvez ennuyeux d'ajouter des options à chaque fois, ou si vous avez un environnement JDK supérieur à Java 10 en premier lieu, essayez la ** solution de force brute ** ci-dessous.
Première chose que vous devez savoir
** Android Studio fournit l'environnement d'exécution Java lui-même. ** **
Par conséquent, comme mentionné dans l'article Mémo du chemin Java utilisé par Android Studio lors de la création d'apk, nous utilisons généralement Android avec l'interface graphique. Lorsque je l'exécute dans Studio, je crée un module d'application dans ** l'environnement Java d'Android Studio ** et crée un apk.
vice versa,
Terrminal en bas d'Android Studio et les terminaux s'ouvrent car les applications Mac ou Windows utilisent l'environnement d'exécution du système d'exploitation.
Par conséquent, bien qu'il puisse être construit correctement avec l'interface graphique,
./gradlew assemble
C'est pourquoi cela échoue lorsque vous essayez de construire avec une commande telle que.
Si vous pouvez créer avec l'interface graphique, vous pouvez également exécuter Terminal dans l'environnement d'exécution d'Android Studio.
Il semble que vous devriez mettre la variable d'environnement Path dans .bashrc
ou .zshrc
.
export PATH=$PATH:/Applications/"Android Studio.app"/Contents/jre/jdk/Contents/Home/bin
export JAVA_HOME=/Applications/"Android Studio.app"/Contents/jre/jdk/Contents/Home
Ensuite, selon la version d'Android Studio, il sera possible de démarrer à partir du Terminal avec l'environnement d'exécution de la version Java appropriée.
À propos, c'était la version 1.8.0_212 dans Android Studio 3.6-RC1.
Même s'il s'agit d'une version différente, la série 1.8.0
semble être bonne dans l'environnement d'exécution d'Android Studio ci-dessus. C'est Java 8.
[Oracle HP]([https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html](https://www.oracle.com/technetwork/java/javase/ Installer à partir de downloads / jdk8-downloads-2133151.html)).
Il existe de nombreux articles sur la procédure d'installation, veuillez donc les consulter.
J'aurais dû être en mesure de ne pas créer de compte Oracle car j'ai récemment dû me connecter.
De plus, le nom d'affichage peut être «8u ***» sous la forme «Java SE Development Kit 8u241», mais il s'agit de la série «1.8.0».
Après l'installation, voyons la liste des versions de JDK que vous avez installées.
/usr/libexec/java_home -V
Une fois confirmé, définissez la version JDK sur une variable d'environnement.
export JAVA_HOME=`/usr/libexec/java_home -v {java_version}
Entrez la version que vous avez confirmée précédemment dans {java_version}
.
Après cela, si vous pouvez le configurer en toute sécurité
java -version
Vérifiez avec et si vous pouvez le configurer correctement, c'est OK.
https://qiita.com/mas0061/items/2fe9333f045800d00b5c
https://qiita.com/kkkkan/items/f9595107a2a9153d1c60