OSX上的Java编译错误,但Windows上没有

OSX上的Java编译错误,但Windows上没有,java,macos,maven-3,Java,Macos,Maven 3,我在OSX上遇到了Java编译错误的问题,但在Windows7上一切正常 在这两种平台上,我都将IntelliJ与Java 1.70 u80 SDK和Maven 3.3.9(来自IntelliJ的捆绑包)一起使用 OSX上出现的错误是 不兼容类型:无法将迭代器转换为迭代器 对于代码行,如下所示 Iterator<Node> it = sh.extractAllHeaderElements(); while (it.hasNext()) { ... } 问题似乎出现在使用sh

我在OSX上遇到了Java编译错误的问题,但在Windows7上一切正常

在这两种平台上,我都将IntelliJ与Java 1.70 u80 SDK和Maven 3.3.9(来自IntelliJ的捆绑包)一起使用

OSX上出现的错误是

不兼容类型:无法将迭代器转换为迭代器

对于代码行,如下所示

Iterator<Node> it = sh.extractAllHeaderElements();
while (it.hasNext())
{
    ...
}

问题似乎出现在使用
sh.extractAllHeaderElements()返回的迭代器中
在mac平台上运行时,它返回的不是
迭代器
,而是其他类型的迭代器。因此,在迭代器接口中使用通配符将起作用


为此,只需替换迭代器it=sh.extractAllHeaderElements()代码

您能在页面顶部发布完整的代码文件,包括导入吗?尝试更改此行
Iterator it=sh.extractAllHeaderElements()
to
Iterator it=(Iterator)sh.extractAllHeaderElements()我猜两个源文件之间的导入是不同的。试着检查一下。@SteelToe我已经将导入添加到了OP中。完整的代码太大了,不能在这里发布(1000多行),我会有点担心导入中的
*
字符。尝试将它们替换为您正在使用的实际导入。
import java.io.*;
import java.lang.management.ManagementFactory;
import java.net.URI;
import java.util.*;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.servlet.ServletRequest;
import javax.xml.bind.Element;
import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPHeaderElement;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nhindirect.xd.soap.type.MetadataLevelEnum;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;