Cordova: Anforderungsprüfung für JDK 1.8 oder höher fehlgeschlagen


87

Ich verwende Cordova 6.4.0 unter Windows 7, erhalte jedoch diesen Fehler, sobald ich versucht habe, die Android-Version zu erstellen:

Fehlerbeschreibung

Die Java Home-Variable ist korrekt auf den JDK-Pfad eingestellt, aber ich weiß nicht, warum ich dieses Problem bekomme. Irgendwelche Vorschläge bitte?


3
OK. Ich hatte das gleiche Problem, konnte aber die Version 1.8 nicht herunterladen, da sie sich unter einem anderen Namen versteckt. Es ist der 8u152. Nach ein paar Stunden fand ich es hier: oracle.com/technetwork/java/javase/downloads/…
user2367101

Antworten:


58

Deinstallieren Sie alle vorherigen JDKs einschließlich 1.8. Installieren Sie JDK 1.8


3
@Urbycoz Sie müssen nur gehen Add or Remove Programs/Program Featuresin Windows OS. Entfernen Sie anschließend alle früheren Java-Versionen. Ich hatte eine version 7ebenfalls installiert und nach uninstallingihm, cordova run androidgearbeitet. Viel Glück.
Akash

1
Aber was bedeutet es? Wie wählt Cordova das JDK aus, wenn verschiedene JDKs installiert sind? Es kann nicht möglich sein, dass Sie nur ein JDK haben können (z. B. Maschine bauen)?
Bruno Ranschaert

Sie müssen noch die envionment Variablen setzen , so Cordova den Pfad zum JDK finden superuser.com/questions/949560/...
Yvonne Aburrow

16
@ MadNeox Deinstallation einer anderen Version ist nur eine Problemumgehung, nicht die Lösung
Gandhi

hat den Trick für mich gemacht. ging zu appwiz.cpl (von Windows cmd) und entfernte Java 7 und Java SDK 7.
Ortiz

48

Unter Linux (Debian / Ubuntu) kann dies durch Auswahl eines Java 1.8 SDK in gelöst werden

sudo update-alternatives --config javac

Das JAVA_HOMEdirekte Ändern der env-Variablen scheint keine Auswirkungen zu haben.

BEARBEITEN: Antworten auf die Kommentare: Dies hat wahrscheinlich damit zu tun, dass neue Java-Installationen von Debian (und anscheinend Ubuntu) über den Paketmanager die JAVA_HOMEUmgebungsvariable nicht verwenden , um den Speicherort der JRE zu bestimmen. Weitere Informationen finden Sie in diesem und diesem Beitrag .


1
Du hast meinen Tag gerettet. Ich habe in den letzten Tagen alles versucht. Vielen Dank. Aber warum funktioniert nur das? Warum hat das Setzen einer Variablen keine Auswirkung?
my-

1
Arbeitete auch für mich unter Ubuntu ... Ich hatte es getan, javaaber nicht javac! Jetzt muss Java 9 nicht mehr deinstalliert werden :)
hughjdavey

Gleiche Bemerkung hier. Obwohl JAVA_HOMEauf das rechte 1.8 JDK verwiesen wurde, erfüllte nur die Aktualisierung des Systemstandards Cordova.
myoan

1
Bei sudo update-alternatives --config javac Es gibt nur eine Alternative in der Linkgruppe javac (Bereitstellung von / usr / bin / javac): / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac Nichts zu konfigurieren . Ich muss zurück zu Java-8-OpenJDK. Ist da weg, um es zu tun?
Taieb

Warum dies eine Lösung in Ubuntu ist. Genau wie myoan sagte, warum sollte die Aktualisierung des Systemstandards Cordova zufriedenstellen?
Jithin

38

Sie müssen keine höhere Version von sdk deinstallieren. Installieren Sie einfach jdk1.8.0_161 oder nicht, wenn es bereits installiert ist.

JAVA_HOMEStellen Sie nun einfach die USER-Variable (nicht die Systemvariable) ein, wie in der folgenden Abbildung gezeigt.

Geben Sie hier die Bildbeschreibung ein

Auf diese Weise müssen Sie keine höhere Version deinstallieren und das Problem wird behoben.


9
Denken Sie daran, das Terminal / die IDE zu schließen, bevor Sie versuchen, Ihre Befehle erneut auszuführen.
Daniel

oder Sie können einfach $ ausführen. ~ / .bashrc, um die env-Variablen erneut zu exportieren
Nick Cuevas

31

Was funktionierte, war die Deinstallation von jdk 9 und die Neuinstallation von jkd 8.x.

Gehen Sie auf dem Mac zum Deinstallieren zum Terminal und führen Sie die folgenden Schritte aus:

cd /Library/Java/JavaVirtualMachines

sudo rm -rf jdk-9.0.1.jdk

Installieren Sie anschließend jdk 8.x, indem Sie das .dmg-Paket von Oracle herunterladen.



22

Möglicherweise haben Sie eine Version, die größer als 8 ist, aber Cordova unterstützt nur JDK 1.8. Diesen Link anzeigen Cordova-Dokumentation

Ich habe mir den Code angesehen, der tatsächlich nach der Versionsnummer Ihres Java sucht. Suchen Sie nach Folgendem: module.exports.check_java in platform / android / cordova / lib / check_reqs.js . in Zeile 220. Sie sehen einen regulären Ausdruck und einen Kommentar des Teams, dass Java 10 in Zukunft unterstützt wird.

Der vorhandene reguläre Ausdruck schlägt fehl, wenn er mit den neuesten Java-Versionen wie Java 10 ausgeführt wird. Dies liegt daran, dass Java 8 oder 9 im folgenden Format gespeichert werden: 1. [8-9]. ** Java 10 wird jedoch gespeichert als 10. ** und der reguläre Ausdruck sucht nach einer Version im Format 1. [8-9]. **

// Let's check for at least Java 8, and keep it future proof so we can support Java 10
var match = /javac ((?:1\.)(?:[8-9]\.)(?:\d+))|((?:1\.)(?:[1-9]\d+\.)(?:\d+))/i.exec(output);

Meine Lösung:

Sie müssen Ihre aktuelle Version von JRE oder JDK nicht deinstallieren, da das Installationsprogramm jede Version in einem bestimmten Ordner installiert.

1- Installieren Sie die Version Java 8 Folgen Sie diesem Link

2- Aktualisieren Sie Ihre Umgebungsvariablen:

  • JAVA_HOME, wenn Sie das JDK installiert haben
  • JRE_HOME, wenn Sie die JRE installiert haben

indem Sie sie auf den Speicherort zeigen, an dem JRE 8 und JDK 8 installiert wurden.

// On my machine   
C:\Program Files\Java\jdk1.8.0_171 // JAVA_HOME
C:\Program Files\Java\jre1.8.0_171 // JRE_HOME

Öffnen Sie eine neue Terminalsitzung und führen Sie den fehlgeschlagenen Befehl aus. Es sollte jetzt funktionieren.

Funktioniert nicht?

Sollte es aus anderen Gründen fehlschlagen, möglicher Debugging-Prozess:

  • Stellen Sie sicher, dass die Variablen JAVA_HOME und JRE_HOME Systemvariablen sind.
  • Stellen Sie sicher, dass sie dem Pfad Ihres Benutzers hinzugefügt werden. Fügen Sie dem Pfad Variablen hinzu

Dies war die einzig richtige Antwort für mich. Siehe diesen Link für weitere Informationen evothings.com/doc/build/cordova-install-linux.html
Dara Java

16

Das Deinstallieren älterer Versionen von JDK hätte funktioniert. Aber es kann eine Problemumgehung sein, denke ich. Ich hatte das gleiche Problem und stellte fest, dass sowohl die neue Version des JDK als auch der JDK-Pfad der älteren Version in 'path'Umgebungsvariable' erwähnt wurden .

Das Entfernen des JDK-Pfads der älteren Version aus 'pathder Umgebungsvariablen hat mir geholfen. Hoffe es hilft auch jemandem.


Wenn Sie Umgebungsvariablen setzen, können Sie diesen Kommentar hilfreich superuser.com/questions/949560/...
Yvonne Aburrow

Ja, ich kann den Build-Befehl damit ausführen, habe aber immer noch Probleme mit dem Run-Befehl 'ionic cordova run android', der den Fehler INSTALL FAILED UPDATE INCOMPATIBLE anzeigt.
Supriya Chauhan

@supriyachauhan Sie können versuchen, das gesamte Material erneut zu installieren. Andernfalls müssen Sie möglicherweise ausführliche Details angeben, um das Problem
Gandhi

9

Ich habe festgestellt, dass meine Pfadumgebungsvariable auf Java 1.7 zeigt, während JAVA_HOME auf 1.8 zeigt, also habe ich die Pfadvariable auf 1.8 bearbeitet und es ging mir gut.


7

In meinem Fall zeigte JAVA_HOME auf C: \ Programme (x86) \ Java \ jdk1.7.0_55

Als ich schrieb, wo Java in cmd C: \ Programme (x86) \ Java \ jdk1.7.0_55 zusammen mit dem Pfad java.exe ausgab, habe ich die Variable JAVA_HOME von Umgebungsvariablen in C: \ Programme \ Java geändert \ jdk1.8.0_20 & es hat funktioniert, also hatte ich anscheinend 2 jdk-Instanzen & cordova benötigt die Version 1.8. * eine.


Überprüfen Sie, wohin Ihre Pfadvariable zeigt. Ich hatte JAVA_HOME auf 1.8 zeigen, aber in Path zeigte es auf eine andere Version. Hat gut funktioniert, nachdem ich die beiden ausgerichtet habe!
Ahb

5

Ich stimme @Hozington zu. Dies sollte der Fehler im Cordova-Code beim Erkennen der Java-Version sein. Was ich getan habe ist:

  1. Behalten Sie das JDK 10
  2. Installieren Sie das JDK 8
  3. Ändern Sie den JAVA_HOMEin den Pfad von JDK 8 und ändern Sie auch die pathVariable.
  4. Starten Sie das "cmd" neu und führen Sie es cordova builderneut aus.

Und der Fehler ist verschwunden!


5

MAC: Navigieren Sie zu: / Library / Java / JavaVirtualMachines Stellen Sie sicher, dass Sie nur jdk1.8.0_201.jdk haben. Wenn Sie viele haben, entfernen Sie andere JDK


4

Wenn Sie viele JDK-Versionen haben, können Sie diese ausführen

export JAVA_HOME="/usr/local/env/java/jdk1.8.0_131.jdk/Contents/Home/"

vor dem Cordova Build, um eine bestimmte Version von JDK zu verwenden :)


3

Leute, um die Mischung unter Windows richtig zu machen , müssen Sie Folgendes tun

  1. Laden Sie eine beliebige Version von JDK 1.8 oder höher herunter und installieren Sie sie .
  2. Öffnen Sie Umgebungsvariablen, erstellen Sie eine Umgebungsvariable mit dem Namen JAVA_HOME und setzen Sie den Wert auf JDK-Installationspfad. C:\Program Files\Java\jdk1.8.0_162 Stellen Sie sicher, dass Sie das nicht \binim Wert hinzufügen .

Geben Sie hier die Bildbeschreibung ein

  1. Fügen Sie in Ihre Systempfadvariable ein Semikolon ein ;und fügen Sie diesen Wert zum Systempfad hinzu, z. B. C:\Program Files\Java\jdk1.8.0_162\bin;Hier \binwird der hinzugefügt.

Hinweis: Die Umgebungsvariablen sind schwierig. Sie sollen durch a geschlossen werden . vor dem Öffnen eines anderen. Aus diesem Grund setzen wir einen vor dem Hinzufügen des Werts und einen nach dem Wert, um ihn zu schließen.

Geben Sie hier die Bildbeschreibung ein

  1. Schließen Sie nun das Terminal und öffnen Sie es erneut. Führen Sie dann die vorherigen Befehle aus.

Es gibt eine Mischung aus Java-Adressierung ... von JAVA_HOME, PATH. cordova verwendet PATH, was möglicherweise auf java12 / 13
bortunac

3

Manchmal ändert sich der Pfad und java-homefunktioniert nicht. Sie müssen hinzufügen

C:\Users\[your user]\AppData\Local\Android\Sdk\platform-tools
C:\Users\[your user]\AppData\Local\Android\Sdk\tools

auch auf den Umgebungsvariablenpfad.


3

Heute habe ich diesen Fehler auch Cordova : Requirements check failed for JDK 1.8 or greaterin meinem Mac OS beim Erstellen der Ionic App erhalten, als ich den Befehl ionic cordova build --release androidüber das Terminal ausführte.

Der folgende Befehl behebt mein Problem: -

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home"

Hoffe es wird jemandem in Zukunft helfen!


2

Diese Fehlermeldung verwirrt den Benutzer, der Erfolgsbildschirm wie folgt.Cordova bauen Erfolg

Die Fehlermeldung veranlasst den Benutzer, den Build-Fehler mit der JAVA_HOME-Konfiguration zu beheben. Das eigentliche Problem liegt aber nicht nur im JAVA_HOME.

Ich behebe dieses Problem mit der korrekten Konfiguration in JAVA_HOME und dem Pfad in "Systemvariable". Geben Sie hier die Bildbeschreibung ein

Hope kann helfen, das Problem zu beheben, JDK jedoch nicht neu installieren.


2

Die Antwort von MadNeox ist korrekt. Ich hatte ein ähnliches Problem, bei dem ich JDK 9 installiert hatte, sowie die Version 1.8

Ich habe zuerst versucht, indem ich jdk 9 beibehalten und 1.8 entfernt habe, um einen Fehler anzuzeigen. Die Überprüfung der Anforderungen ist fehlgeschlagen

Dann habe ich versucht, jdk9 zu deinstallieren und 1 neu zu installieren. Dieses Mal wurde angezeigt, dass die javac-Version nicht ausgeführt werden konnte

Nachdem ich einige Zeit mit den Umgebungsvariablen herumgespielt hatte, bekam ich endlich die Lösung

Zu diesem Zeitpunkt hat mein System nur JDK 1.8 Cordova Version: 7.1.0

- Registerkarte "Umgebungsvariablen öffnen" - Erstellen Sie unter Benutzervariablen eine neue Variable PATH - Geben Sie den folgenden Wert C ein: \ Programme \ Java \ jdk1.8.0_151 \ bin (kann sich ändern, je nachdem, wo Sie Ihr jdk installiert haben)

Dies sollte Ihr Problem lösen. Hoffe, es hilft

Obwohl die Antwort bereits gegeben wurde, brauchte ich einige Zeit, um herauszufinden, wo ich falsch lag, und beschloss, dies zu posten, in der Hoffnung, dass dies die Zeit eines anderen spart


1

Stellen Sie einfach sicher, dass auf dieselben JDK-Versionen (in diesem Fall 1.8) über die PATHUmgebungsvariable und zugegriffen werden kann JAVA_HOME. Beispiel: Wenn JAVA_HOME=C:\Program Files\Java\jdk1.8.0_152dann PATHsollte die Variable auch den obigen Pfad und vor allem einen anderen Pfad enthalten, falls JDK / JRE bereits in der PATHVariablen erwähnt ist. Sie können andere Versionen deinstallieren, wenn keine andere Anwendung eine andere Java-Version verwendet.


1

Wenn Sie sowohl jdk8 als auch jdk9 installiert haben, müssen Sie überprüfen, um welche Version es sich handelt

im Pfad und wo JAVA_HOME zeigt.

In dem von Ihnen geposteten Protokoll sehe ich, dass JAVA_HOME zum JDK9 führt.

Ändern Sie Ihr Globel JAVA_HOME env var so, dass es auf JDK8 abzielt, oder Sie können JAVA_HOME in Powershell ändern, bevor Sie die Cordova-CLI verwenden, wenn Sie JDK8 nur für Cordova verwenden möchten:

$env:JAVA_HOME="C:\Program Files\Java\jdk1.8.0_151"

**cordova build android**

1

Wenn Sie mehrere Java-Versionen installiert haben und diese behalten müssen, müssen Sie folgende Dinge überprüfen:

  • JAVA_HOME zeigt auf Ihr jdk1.8
  • In Ihrer PATH-Variablen müssen Sie überprüfen, ob der Pfad jdk1.8 \ bin vor den anderen Pfaden jdk \ bin liegt

1

Ich hatte das gleiche Problem mit jdk1.8.0_201. Es wurde behoben, als ich JAVA_HOME = C: \ Programme \ Java \ jdk1.8.0_201 erstellt und "C: \ Programme \ Java \ jdk1.8.0_201 \ bin" hinzugefügt habe Pfad - Variable


1

Ich habe (Open) JDK 8 und 11 unter Windows 10 installiert und hatte das gleiche Problem. Für mich hat folgendes funktioniert:

  1. Setzen Sie JAVA_HOME so, dass es auf JDK 8 zeigt. (In vielen Antworten bereits erwähnt.) AND
  2. Entfernen Sie (!) JDK 11 aus dem PATH, da sich herausstellte, dass Cordova - obwohl der Pfad JAVA_HOME auf JDK 8 verweist - tatsächlich auf JDK 11 zugegriffen hat, das im PATH enthalten war, wodurch die Java-Versionsprüfung fehlschlug.

1

Es ist eine alte Frage, aber da ich nur das gleiche Problem hatte, aber der Fehler eine andere Quelle hatte, hier eine kurze Antwort.

Problem unter Windows (nur) und mit der Webstorm IDE 2019.2

In der Version 2019.2 hatte Webstorm ein Problem, da intern open jdk für die Variable% JAVA_HOME% anstelle des (vom Betriebssystem) anvisierten Java-jdk verwendet wurde.

In meinem Fall (ja, es ist alt, es ist ein altes Cordova-Projekt ...)

Ausführen java -versionin Windows cmd.exe:

$ java -version
java version "1.8.0_221"

aber java -versionim Webstorms-Terminal ausführen :

$ java -version
openjdk version "11.0.3" 2019-04-16
// more output

Ein Fix wurde mit dem später (heute) veröffentlichten Patch, Version 2019.2.1, geliefert. Jetzt verwendet Webstorm die Variable os% JAVA_HOME% wie gewünscht und die java -versionAusgabe ist in beiden Fällen identisch.

Hoffe es hilft jemandem!


1

MacOS antwortet mit mehreren installierten Java-Versionen und ohne Deinstallation

Zeigen Sie mir, welche Java-Versionen ich installiert habe:

$ ls -l /Library/Java/JavaVirtualMachines/

So stellen Sie es auf meine jdk1.8-Version ein:

$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac /usr/local/bin/javac

So stellen Sie es auf meine jdk11-Version ein:

$ ln -s /Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac /usr/local/bin/javac

-------------------------------------------------- ------------------------

Beachten Sie, dass trotz der Aussagen in der Nachricht anscheinend Version 1.8 gewünscht wird und diese Nachricht ausgelöst wird, wenn Sie eine spätere Version haben.

Was folgt, sind meine früheren Versuche, die mich zu der obigen Antwort führten, die dann funktionierte ... Je nachdem, was installiert ist, müssen Sie möglicherweise etwas anderes tun. Vielleicht helfen diese Hinweise:


Stellen Sie es auf meine jdk1.8-Version ein

$ export PATH=/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac:$PATH

Stellen Sie es auf meine jdk11-Version ein

$ export PATH=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac:$PATH

... aber eigentlich funktioniert das nicht, denn /usr/bin/javaces läuft immer noch zuerst:

$ which javac
/usr/bin/javac

... um zu sehen, was zuerst auf dem Weg läuft:

$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

Das heißt, ich kann das überschreiben /usr/bin/javac... siehe die Befehle oben in der Antwort ...
Der Befehl, es mit jdk1.8 lnoben in dieser Antwort festzulegen , hat bei mir funktioniert.


0
  1. Gehen Sie zur Startseite des Bedienfelds
  2. Erweiterte Systemeinstellungen
  3. Umgebungsvariablen
  4. Wählen Sie JAVA_HOME
  5. bearbeiten
  6. variabler Wert für den 1.8

0

Es scheint, dass das Android SDK Java 9 nicht unterstützt. Downgrade auf 8, wenn Sie nicht bis zu JDK 1.8 zurückkehren möchten, was für mich lächerlich ist. JDK 8 funktioniert für mich, aber stellen Sie sicher, dass die Umgebungsvariable JAVA_HOME korrekt auf den Speicherort Ihrer JDK-Installation eingestellt ist.


0

Gemäß der offiziellen Cordova-Dokumentation werden nur JDK 1.8 unterstützt, die bis zum Datum (April 2018) nicht höher sind . Oder es liegt ein Problem mit dem Versionserkennungsskript in Cordova vor.

Cordova: Installieren der Anforderungen


0

Ich habe gerade einen älteren JDK-Ordner mit umbenannt _, nur für den Fall, dass ich ihn weiter benötige, und es hat funktioniert.

C:\Program Files (x86)\Java\_jdk1.7.0_40 
C:\Program Files (x86)\Java\_jre7

Auf meinem Computer war die Konfiguration von Java und Javac inkonsistent: Java zeigte auf JDK 9, während Javac auf JDK 8 zeigte. Wenn Sie beide auf JDK 8 setzen, wurde das Problem behoben.
ominug

0

Ich benutze Windows und habe zwei JDK 1.8 und 14 Version etwas ...

Konfrontiert das gleiche Problem und finden Sie nach einigem Debuggen die Lösung.

  1. Stellen Sie JAVA_HOME richtig ein.
  2. Ändern Sie den Wert der Benutzervariablen PATH mit der neuen Version jdk (1.8).
  3. Ändern Sie den Wert der Benutzervariablen PATH mit der neuen Version jdk (1.8).

Und es hat sich gelöst


0

Der Fehler tritt auf, wenn der Standardpfad zu Java auf eine andere Version als Java 8 oder JDK 1.8 festgelegt ist. *

In meinem Fall habe ich Java 11 nach der Installation von Java 8 installiert

Sie können testen, indem Sie Folgendes ausführen:

java -version

Für meinen Fall kehrte es zurück:

java version "11.0.8" 2020-07-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.8+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode)

Um dies zu beheben, müssen wir sicherstellen, dass der Java-Pfad stattdessen auf Java 8-Binärdateien verweist

Angenommen, Sie haben bereits Java 8 oder JDK 1.8 installiert. * Installiert:

  1. Stellen Sie sicher, dass JAVA_HOME und JRE_HOME festgelegt sind (stellen Sie sicher, dass es auf Java 1.8 zeigt. *)

Env-Variable

  1. Stellen Sie in PATH sicher, dass %JAVA_HOME%\binoder C:\Program Files\Java\jdk1.8.0_251\binhinzugefügt wird

Geben Sie hier die Bildbeschreibung ein

  1. Ursache des Problems: Bei meiner JDK 11-Installation wurden ganz oben zwei PATH-Einträge hinzugefügt, die Vorrang haben oder den %JAVA_HOME%\binPATH überschreiben, der auf JDK 1.8 verweist. *

Fügen Sie diese nicht hinzu, wenn Sie sie nicht haben. Suchen Sie andere PATH-Einträge, die möglicherweise überschrieben werden %JAVA_HOME%\bin

Geben Sie hier die Bildbeschreibung ein

  1. Klicken Sie auf "Nach unten", um die überschreibenden Einträge anzuzeigen, bis sie unten angezeigt werden %JAVA_HOME%\bin

%JAVA_HOME%\bin PATH, der auf Java 8 verweist, hat jetzt Vorrang vor den anderen PATH-Einträgen, die auf JDK 11 verweisen

Geben Sie hier die Bildbeschreibung ein

  1. Speichern Sie, öffnen Sie ein neues Terminal und führen Sie es aus
java -version

Für meinen Fall kehrte es dann zurück:

java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

Fest!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.