2016-03-30 4 views
1

In einem Projekt, an dem ich gerade arbeite, laufen wir auf an issue, bezieht sich auf Inkompatibilität einer Klasse über verschiedene Java-Versionen.Inwiefern unterscheidet sich die Java-Kreuzkompilierung von der Verwendung eines älteren Compilers?

Die vorgeschlagene Lösung ist cross-compilation anwenden: Wir sollten nicht nur wir die -target und -source Argumente an den Compiler angeben, sollten wir auch definieren explizit die richtigen Bootstrap-Classpath und Erweiterung Verzeichnisse.

Meine Frage: Welchen Vorteil hat dies gegenüber einfach mit dem Compiler aus dem älteren JDK?

Antwort

1

Ich sehe vor allem zwei Gründen/benifits

  • Wenn Sie Teile der Quelle haben, die neuen Sprachfunktionen verwendet, können sie nicht mit der älteren Version
  • Schließlich kompiliert wird es Compiler-Fehler, die behoben werden könnten, in neueren Version

Ansonsten sehe ich keinen Grund, den alten Compiler nicht zu verwenden.