3
在這些軟件包組中,有相同類的java WebServices API & IMPL,只有軟件包名稱不同。WS Libs:com.sun.xml vs javax.xml
我應該在我的代碼使用的是哪些?我寧願NON-com.sun。*根據Java約定,但我的依賴項(例如Spring)使用的是來自com.sun的實現。*或者我在javax.xml中找不到實現包
任何人都有這方面的經驗?
在這些軟件包組中,有相同類的java WebServices API & IMPL,只有軟件包名稱不同。WS Libs:com.sun.xml vs javax.xml
我應該在我的代碼使用的是哪些?我寧願NON-com.sun。*根據Java約定,但我的依賴項(例如Spring)使用的是來自com.sun的實現。*或者我在javax.xml中找不到實現包
任何人都有這方面的經驗?
使用javax.xml
軟件包 - com.sun
軟件包不是公共Java API的一部分,並且可能會在Java版本之間發生變化,或者如果您使用別人的軟件而不是Sun的Java實現,它們甚至不存在。
請參見:Why Developers Should Not Write Programs That Call 'sun' Packages
我不知道你想要做什麼,但你通常不需要直接處理的實現包。通常有工廠類和方法來獲取例如XML解析器的實例,並且程序不需要知道幕後使用了什麼實現。例如,要獲得SAX解析器,請執行以下操作:
import javax.xml.parsers.*;
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
是的,這是真的。我使用的是使用Spring WS的Spring WS, MessageFactory,那麼我可以通過MessageFactory.newInstance()或MessageFactory.newInstance(「Protocol」),但是例如Apache CXF不希望在沒有實例化的情況下工作。 saaj-impl和其他一些僅來自com.sun的人* – Zilvinas 2010-06-17 20:17:58