2016-06-02 8 views
1

Ich lese, dass CodenameOne Plugin nur mit Java 8 auf 3.5 Version funktioniert. Mein Projekt ist ein großes Projekt mit Code in Java 5 geschrieben mit mehreren Komponenten von mir selbst angepasst. Es ist eine Mischung aus Native-App mit Web-App (WebComponent + JavaScript Bridge + AngularJS, und so weiter).Wie migriere ich mein "Codenameone" -Projekt von (Java 5) nach (Java 8)

Besteht die Gefahr, meinen Code zu knacken?

Was ich brauche, um einen reibungslosen Übergang zu Java 8.

Mit der letzten Version des Plugins zu tun machen (3.4) kann ich meinen Code in Java8 in diesem Moment schreiben?

Antwort

0

Wenn wir sagen, dass es nur mit Java 8 funktioniert, meinen wir die zugrunde liegende VM von IDE und SDK. Sie müssen die Java 8-Funktionalität für Ihre Anwendung nicht aktivieren, wenn Sie dies nicht möchten.

Sie können 3.4- und 3.3-Ziele mit aktivierter Java 8-Unterstützung verwenden.

Wenn Sie die Verwendung von Java-8-Funktionen machen, wollen Sie die Schritte here umrissen:

  • Fügen Sie den java.version=8 build Hinweis
  • die IDE Stellen Sie sicher, und das Projekt Java verwenden 8
  • In der build.xml ersetzen Verwendung von 1.5 mit 1.8
+0

Hallo Shai, Vielen Dank für Ihre Kommentare. Ich werde deinen Empfehlungen folgen. Aber, Bitte, Könnten Sie mir zusätzliche Informationen zu diesem Thema geben? Kann ich alle neuen Funktionen von Java 8 (sintaxe, alle Standard-Edition-Klassen ...) nutzen? Gibt es eine Dokumentation darüber, welche Klassen oder Funktionen ich nicht verwenden kann. Hat Codenameone-SE verschiedene Implementierungen für bestimmte Klassen im Vergleich zu den entsprechenden Klassen in Oracle Java 8 SE? – hrugani

+0

Sie können nicht alle Funktionen verwenden. Sie können nur die APIs verwenden, die in den javadocs https://www.codenameone.com/javadoc/ aufgeführt sind. Unsere ursprüngliche Ankündigung führte die fehlenden Eigenschaften https://www.codenameone.com/blog/java-8-support.html die größte auf Auslassung ist Streams, die nicht unterstützt werden. Da wir intern retrolambda verwenden, gelten die gleichen Einschränkungen: https://github.com/orfjackal/retrolambda –