Ich bin auf die Java-Version in Android Studio gestoßen, daher werde ich sie zusammenfassen

Einführung

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.

Spezifischer Anwendungsfall, der gestolpert ist

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.

Lösung

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.

Zwangslösung

Verwenden Sie Android Studio JDK

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.

Laden Sie verschiedene Versionen von JDK herunter

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.

Verweise

https://qiita.com/mas0061/items/2fe9333f045800d00b5c

https://qiita.com/kkkkan/items/f9595107a2a9153d1c60

https://github.com/acroquest/javabook-support/issues/49

Recommended Posts

Ich bin auf die Java-Version in Android Studio gestoßen, daher werde ich sie zusammenfassen
[Android Studio] Ich möchte Einschränkungen für die in EditText [Java] registrierten Werte festlegen.
Ich kann mich nicht an die Eingabe / Ausgabe von Textdateien in Java erinnern, also habe ich sie zusammengefasst.
Ich habe Ruby Silver (Juni 2020) bestanden, also werde ich es zusammenfassen.
Ein Super-Anfänger hat das Frühlings-Einführungsbuch fertiggestellt, daher werde ich es auf meine eigene Weise zusammenfassen
[Java] Ich habe Polymorphismus studiert, daher werde ich zusammenfassen, wie man ihn verwendet und welche Vorzüge er hat.
[Java] [javaSliver] Die Schnittstelle und die abstrakten Klassen sind kompliziert, daher werde ich sie zusammenfassen.
Siehe C ++ im Android Studio-Modul (Java / Kotlin)
Ich habe festgestellt, dass ich eine Java-FW im Mono-Repo entwickle, daher werde ich die Operation in Betracht ziehen.
Ich habe ein "Sunshine Ikezaki-Spiel" gemacht, das ich auf Twitter in Java gesehen habe.
Ich habe die Menüleiste (Optionsmenü) unter Android geöffnet und gesehen.
Das Corretto, das ich in Homebrew eingefügt habe, ist nach dem Update verschwunden, also habe ich es behoben.
Ich habe das neue Yuan-Problem in Java ausprobiert
Was war keine faire Verwendung der Java-API-Umleitung unter Android?
Von Java nach C und von C nach Java in Android Studio
Ich habe die Daten der Reise (Tagebuchanwendung) in Java erhalten und versucht, sie # 001 zu visualisieren
Platzieren Sie das Java-Projekt mithilfe der Datenbank auf dem bisher in VPS erstellten Server
Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen
Eindrücke und Zweifel an der erstmaligen Verwendung von Java in Android Studio
3 Möglichkeiten zum Importieren von Bibliotheken in Android Studio
Verwenden Sie das in Android Studio verwendete JDK im Terminal
Stolpern Sie mit Android DataBinding + Kotlin (mehr BindingAdapter)
Holen Sie sich Ihre Versionsnummer in der Android-App
Probieren Sie Progate Free Edition [Java I]
Selbst wenn Sie in Java Try-with-Resources in der try-Klausel zurückkehren, wird diese ordnungsgemäß geschlossen. Kehren wir also ohne Bedenken zurück
[Android-Entwicklung] Holen Sie sich mit Java Bilder vom Server und legen Sie sie in ImageView fest! !!
Ich habe jetzt Oracle Java Bronze SE 7/8 genommen, daher werde ich es als Artikel schreiben
Ich bin gestolpert, als ich versucht habe, neo4j in der jenv-Umgebung zu verwenden. Machen Sie sich also eine Notiz
Der Umgang mit Java Future ist zu langweilig, daher werde ich verschiedene Ideen ausprobieren.
[Android Studio / Java] Was Sie nicht verstehen, wenn Sie es zum ersten Mal berühren
Ich habe ein Symbol, das in Android Studio nicht aufgelöst werden kann
[Android Studio] [Java] So fixieren Sie den Bildschirm vertikal
[Android Studio] Ich möchte eine Maven-Bibliothek unter Android verwenden
[Einführung] Zeigen Sie Android Studio Hello World auf dem Emulator an
Ich möchte die Protokollausgabe unter Android vereinfachen
Fassen Sie die zusätzlichen Elemente der optionalen Klasse in Java 9 zusammen
Worauf ich beim ActiveModel :: Serializer-Test gestoßen bin
Ich habe mir die Rosen von Versailles angesehen und versucht, das Schlusslied in Java zu reproduzieren
Hinweise zu Android Studio
Wird das Programm nur durch Erhöhen der Java-Version schneller?
Ich bin sofort auf die Standardeingabemethode mit AtCoder gestoßen.
Parkett-Tools gibt java.lang.ExceptionInInitializerError, also habe ich es mit java8 funktionieren lassen
[Java] ArrayList → Sollte die Größe bei der Array-Konvertierung angegeben werden?
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
[Android, Java] Praktische Methode zur Berechnung der Differenz in Tagen
Java SE 13 (JSR388) wurde veröffentlicht, also habe ich es versucht
Sie verwenden derzeit Java 6. Lösung in Android Studio Gradle
So wechseln Sie Java in der OpenJDK-Ära auf dem Mac
Ich habe versucht, die CameraX-Bibliothek mit Android Java Fragment zu verwenden
Ich möchte die if-else-Anweisung für bedingte Verzweigungen in Java vereinfachen