【问题标题】:How to avoid this warning:com.sun.org.apache.xerces.internal.parsers.SAXParser is Sun proprietary API and may be removed in a future release如何避免此警告:com.sun.org.apache.xerces.internal.parsers.SAXParser 是 Sun 专有 API,可能会在将来的版本中删除
【发布时间】:2013-08-29 06:20:15
【问题描述】:

最近从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] 导入 com.sun.org.apache.xerces.internal.parsers.SAXParser;

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

【问题讨论】:

    标签: java sax saxparser


    【解决方案1】:

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

    SAXParserFactory spf = SAXParserFactory.newInstance();
    spf.setNamespaceAware(true);
    SAXParser saxParser = spf.newSAXParser();
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-01
          • 1970-01-01
          • 2023-01-18
          • 2016-08-03
          • 1970-01-01
          相关资源
          最近更新 更多