我正在尝试使用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
。
有人可以帮我解决这个问题吗?
答案 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