2017-07-07 50 views
1

在硒的Point class Javadocs,它說,它是:爲什麼要從java.awt中移除依賴關係?

java.awt.Point中的副本,以消除對AWT的依賴性。

這是怎麼回事?

+1

消除對Java UI類的依賴性。在Java 9之前,這樣可以更容易地驗證該產品是否不耦合到不同的UI工具包。在Java 9中,這可能允許在沒有Java UI類的JVM中運行。 –

+0

@AndyThomas,那麼在Java 9中是否存在某些東西,這將允許相符的Java實現無法提供AWT或Java SE標準庫的其他部分? –

+0

@AndyThomas那麼,通過這種方便的驗證獲得了什麼? –

回答

2

好吧,如果你想導入整個硒類,你會做這樣的事情:

import org.openqa.selenium.*; 

如果你想使用一點,那麼你也必須做的:

import java.awt.point; 

即使您不打算使用java.awt包中的任何其他部分。

因此,通過這樣做,除非明確使用它,否則不必包含java.awt-因此,不需要依賴java.awt

這可能是因爲已知AWT在不同的平臺上以不同的方式運行,這違背了Java-WORA(Write Once Run Anywhere)的關鍵哲學之一。你不希望像Selenium這樣的平臺獨立的東西依賴於像AWT這樣的重量級。

相關問題