/ / WS Libs: com.sun.xml vs javax.xml - java, serviços da web, soap, jaxb, jax-rpc

WS Libs: com.sun.xml vs javax.xml - java, serviços da web, soap, jaxb, jax-rpc

Existem classes idênticas de java WebServices API e IMPL nesses grupos de pacotes, apenas os nomes dos pacotes são diferentes.

Quais devo usar no meu código? Eu preferiria NON-com.sun. * Conforme as convenções java, mas ainda minhas dependências (por exemplo, Spring) estão usando implementações de com.sun. * OR Não consigo encontrar um pacote de implementação em javax.xml

Alguém tem alguma experiência sobre isso?

Respostas:

2 para resposta № 1

Use o javax.xml pacotes - o com.sun Os pacotes não fazem parte da API Java pública e podem ser alterados entre as versões Java, ou nem sequer existem se você usar alguém mais do que a implementação Java da Sun.

Vejo: Por que os desenvolvedores não devem gravar programas que chamam pacotes "sun"

Eu não sei exatamente o que você está tentando fazer,mas você normalmente não precisa lidar diretamente com os pacotes de implementação. Geralmente há classes e métodos de fábrica para obter uma instância de, por exemplo, um analisador XML, e seu programa não precisa saber qual implementação é usada nos bastidores. Por exemplo, para obter um analisador SAX, você faz:

import javax.xml.parsers.*;

SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();