我正在尝试编译一个 java 文件,它使用包 com.sun.xml.internal.messaging.saaj.soap.dynamic
,使用 ANT-1.9.3 但我收到错误
package com.sun.xml.internal.messaging.saaj.soap.dynamic does not exist
我尝试编译 JDK7 和 JDK 8 并得到相同的错误。
我可以看到包存在于两个 JDK 的 rt.jar
中。我也正确设置了JAVA_HOME
。
有人可以帮我解决这个问题吗?
最佳答案
不幸的是,这种行为可能是故意的,故意不支持您的使用。如果您的代码过去在 Java6 下编译,而现在不在 Java7 或 Java8 下,那么您基本上已经犯规了
From one release to another, these classes may be removed, or they may be moved from one package to another
http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html
另见 http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6778491有关无法编译引用“com.sun.*”类的类的可能原因的技术描述,但尽管引用的类存在于 rt.jar 中,但它会抛出与您看到的相同的编译器错误.还有 Oracle 对与之相关的错误报告的回应;)
不幸的是,使用未记录、不受支持的 API 通常会产生这种“咬你后腿”的效果。
关于java - 包 com.sun.xml.internal.messaging.saaj.soap.dynamic 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34395383/