Seit ich in den letzten Monaten als Business-Praktikant angefangen habe, habe ich jedes Mal eine Umgebung erstellt, wenn sich das Ziel des Praktikanten ändert. Aufgrund der ordnungsgemäßen Ausführung bin ich jedoch häufig auf Fehler gestoßen, die durch die JDK-Version verursacht wurden. Ich tat.
Überprüfen Sie jedes Mal
Oh ... liegt es an der JDK-Version? Und was wirst du jetzt tun? Da es unfruchtbar ist, dies zu überprüfen, habe ich einen Artikel als Memorandum geschrieben.
Dieser Artikel ist eine Problemumgehung für Ihren Anwendungsfall, daher gilt er möglicherweise nicht für andere, aber ich hoffe, Sie aktualisieren ihn von Zeit zu Zeit.
Zuerst,
java -vesion
Sie können einige Versionen Ihres eigenen JDK überprüfen, indem Sie auf das Terminal klicken.
How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
Mein JDK zu diesem Zeitpunkt
java 12.0.2 2019-07-16
war.
Einige Module wurden aus der Standardbibliothek verworfen, als die Funktion "Module" in Java 9 hinzugefügt wurde.
Externe JAR erforderlich, um JAXB unter Java 9 und höher # 49 zu verwenden
Mit dieser Funktion wurde auch das Modul "JAXB" veraltet, und es scheint, dass der obige Fehler aufgetreten ist. Es wird nicht in Java 8 oder niedriger reproduziert, sondern in einer Umgebung mit Java 9 oder höher.
Für Java 9, 10 Laufzeitoptionen
--add-modules java.xml.bind
Wenn Sie angeben, können Sie es einmal übertreffen.
Wenn Sie es ärgerlich finden, jedes Mal Optionen hinzuzufügen, oder wenn Sie in erster Linie eine JDK-Umgebung über Java 10 haben, probieren Sie die unten stehende ** Brute-Force-Lösung ** aus.
Das erste, was Sie wissen müssen
** Android Studio stellt die Java-Ausführungsumgebung selbst bereit. ** ** **
Daher verwenden wir, wie im Artikel Java Path-Memo, das von Android Studio beim Erstellen von apk verwendet wird erwähnt, normalerweise Android mit GUI. Wenn ich es in Studio ausführe, erstelle ich ein Anwendungsmodul in der Java-Umgebung von Android Studio und erstelle eine apk.
und umgekehrt,
Terrminal am unteren Rand von Android Studio und Terminals, die geöffnet werden, wenn Mac- oder Windows-Anwendungen die Ausführungsumgebung des Betriebssystems verwenden.
Obwohl es mit GUI richtig erstellt werden kann,
./gradlew assemble
Aus diesem Grund schlägt es fehl, wenn Sie versuchen, mit einem Befehl wie z.
Wenn Sie mit GUI erstellen können, können Sie Terminal auch in der Ausführungsumgebung von Android Studio ausführen.
Es scheint, dass Sie die Umgebungsvariable Path in .bashrc
oder .zshrc
setzen sollten.
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
Abhängig von der Version von Android Studio können Sie dann vom Terminal aus mit der Ausführungsumgebung der entsprechenden Java-Version starten.
Übrigens war es "1.8.0_212-release" in Android Studio 3.6-RC1.
Selbst wenn es sich um eine andere Version handelt, scheint die "1.8.0" -Serie von der oben genannten Ausführungsumgebung für Android Studio gut zu sein. Es ist Java 8.
[Oracle HP]([https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html](https://www.oracle.com/technetwork/java/javase/ Installation von downloads / jdk8-downloads-2133151.html)).
Es gibt viele Artikel zum Installationsverfahren. Lesen Sie daher diese.
Ich hätte auf die Erstellung eines Oracle-Kontos verzichten müssen, da ich mich kürzlich anmelden musste.
Der Anzeigename kann auch "8u ***" in Form von "Java SE Development Kit 8u241" sein, aber das ist die "1.8.0" -Serie.
Nach der Installation sehen wir uns die Liste der JDK-Versionen an, die Sie installiert haben.
/usr/libexec/java_home -V
Setzen Sie nach der Bestätigung die JDK-Version auf eine Umgebungsvariable.
export JAVA_HOME=`/usr/libexec/java_home -v {java_version}
Geben Sie die zuvor bestätigte Version in {java_version}
ein.
Danach, ob Sie es sicher einstellen können
java -version
Überprüfen Sie mit und wenn Sie es richtig einstellen können, ist es OK.
https://qiita.com/mas0061/items/2fe9333f045800d00b5c
https://qiita.com/kkkkan/items/f9595107a2a9153d1c60
https://github.com/acroquest/javabook-support/issues/49
Recommended Posts