2017-07-07 2 views
1

In Selen ist Point class Javadocs heißt es, dass es ist:Warum die Abhängigkeit von java.awt entfernen?

Eine Kopie java.awt.Point, Abhängigkeit von AWT zu entfernen.

Was wird dadurch gewonnen?

+1

Eliminierung einer Abhängigkeit von Java-UI-Klassen. Vor Version 9 erleichtert dies die Überprüfung, dass das Produkt nicht mit einem anderen UI-Toolkit gekoppelt ist. In Java 9 könnte dies das Ausführen in einer JVM ohne Java-UI-Klassen ermöglichen. –

+0

@AndyThomas, gibt es dann etwas in Java 9, das es einer konformen Java-Implementierung erlauben würde, die AWT oder andere Teile der Java SE-Standardbibliothek nicht bereitzustellen? –

+0

@AndyThomas Dann, was wird durch diese Leichtigkeit in Verifikation gewonnen? –

Antwort

2

Nun, wenn Sie die gesamte Selen Klasse importieren wollen, Sie so etwas tun würde:

import org.openqa.selenium.*; 

Wenn Sie verwenden Punkt wollen, dann würden Sie auch tun müssen:

import java.awt.point; 

auch wenn Sie keinen anderen Teil des java.awt Pakets verwenden würden.

So, Sie müssen nie java.awt enthalten, es sei denn, es explizit - also keine Abhängigkeit von java.awt.

Dies wurde wahrscheinlich getan, weil AWT bekanntermaßen auf verschiedenen Plattformen unterschiedlich läuft, was einer der Schlüsselphilosophien von Java-WORA (Write Once Run Anywhere) zuwiderläuft. Du willst nicht etwas, das plattformunabhängig sein soll wie Selen, um von etwas Schwerem wie AWT abhängig zu sein.

Verwandte Themen