包com.sun.xml.internal.messaging.saaj.soap.dynamic不存在

时间:2015-12-21 12:09:00

标签: java ant java-8 java-7

我正在尝试使用ANT-1.9.3编译一个使用包com.sun.xml.internal.messaging.saaj.soap.dynamic的java文件,但我收到错误

  

包com.sun.xml.internal.messaging.saaj.soap.dynamic没有   存在

我尝试编译JDK7和JDK 8并得到相同的错误。

我可以看到这个包存在于两个JDK的rt.jar内。我也正确地设置了JAVA_HOME

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

不幸的是,这种行为可能是故意的,故意不支持您的使用。如果您的代码用于在Java6下编译,现在不在Java7或Java8下编译,那么您基本上已经违反了

  

从一个版本到另一个版本,这些类可能会被删除,或者它们可能会从一个包移动到另一个包

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通常会让您陷入困境中。有点效果。

答案 1 :(得分:1)

请添加该行,< compilerarg line =“ - XDignore.symbol.file”compiler =“modern”/> for< javac> build.xml中的标记。这应该可以解决您的问题。它为我解决了。

供参考,您可以查看论坛链接 http://www.icesoft.org/JForum/posts/list/19871.page#sthash.srrN9Ijk.dpbs