2

最近从 JDK1.5 升级到 JDK1.6,编译过程中抛出以下警告。

import com.sun.org.apache.xerces.internal.parsers.SAXParser;

...

org.xml.sax.XMLReader l_oParser = new SAXParser();   

编译期间

[javac] C:\Users\project\src\com\test\ecommerce\services\paymentservices\authorization\HistoryTransactionResponseParser.java:14:警告:com.sun.org.apache.xerces.internal.parsers.SAXParser 是 Sun 专有的API,可能会在未来的版本中删除 [javac] import com.sun.org.apache.xerces.internal.parsers.SAXParser;

使用 JDK1.5 编译时不会显示此警告。

4

3 回答 3

4

您应该使用Java API for XML Processing (JAXP)中建议的方法,并让运行时决定 SAX 解析器的实现。例子:

SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
SAXParser saxParser = spf.newSAXParser();
于 2013-08-26T17:57:01.343 回答
0

不要从 com.sun 导入东西。它可能会在未来的版本中出现,也可能不会出现,这正是警告所说的。

于 2013-08-26T17:25:38.783 回答
0

您需要找到该库的替代方案。专有意味着 Sun 可以随时删除该软件包。

如果他们决定从下一个 JDK 版本中删除它,那么一旦您升级 JVM,它将破坏依赖该专有代码的所有内容。

于 2013-08-26T17:28:44.320 回答