Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NoSuchMethodError:_Java - Fatal编程技术网

java.lang.NoSuchMethodError:

java.lang.NoSuchMethodError:,java,Java,我正在尝试运行一个java应用程序,其中出现以下错误: java.lang.NoSuchMethodError: com/crossview/commerce/dataload/reader/OfferReader.getNode()Lorg/w3c/dom/Node; at com.wkus.taa.commerce.dataload.reader.OfferReader.init(OfferReader.java:57) at com.ibm.commerce.foundat

我正在尝试运行一个java应用程序,其中出现以下错误:

java.lang.NoSuchMethodError: com/crossview/commerce/dataload/reader/OfferReader.getNode()Lorg/w3c/dom/Node;
    at com.wkus.taa.commerce.dataload.reader.OfferReader.init(OfferReader.java:57)
    at com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoader.initializeDataReaders(AbstractBusinessObjectLoader.java:1220)
    at com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoader.init(AbstractBusinessObjectLoader.java:353)
    at com.ibm.commerce.foundation.dataload.BusinessObjectLoader.init(BusinessObjectLoader.java:65)
    at com.ibm.commerce.foundation.dataload.DataLoaderMain.execute(DataLoaderMain.java:428)
    at com.ibm.commerce.foundation.dataload.DataLoaderMain.main(DataLoaderMain.java:213)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:600)
    at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:260)
但是方法
getNode()
存在于代码中。 我为什么会看到这个错误

我有一个子类OfferReader.java,它从超类调用getNode()

public void init() throws DataLoadException {
        super.init();
        node = super.getNode();
    }
并且父类OfferReaderParent.java具有以下方法签名:

public Node getNode() {
        return node;
    }

    public void setNode(Node node) {
        this.node = node;
    }

虽然这篇文章已经很老了,但我在回答这个问题,因为有人可能会遇到与上面相同的问题,并且符合我正在努力解决的一个场景

我面临着一个类似的问题,仔细检查后发现,虽然在不同的模块下,但在两个相同的包名中有两个相同的类。例如,假设您有两个项目,一个JAVA客户端和一个Web客户端部署到您的服务器,并打包在同一个EAR文件中

JavaClient>>test.java.somepackage.SomeClass

WebClient>>test.java.somepackage.SomeClass

两者都打包在TestProjectEAR.ear中

在这种情况下,如果您在服务器上部署了项目,服务器可能会尝试在错误的类中查找同名的方法,从而导致java.lang.NoSuchMethodError


我希望这能帮助一些来这里寻找答案的人

接受那个论点?它是类路径中该类的唯一版本吗?请建议如何检查文件版本与类路径的差异。请发布该方法的签名,以及您调用它的方式。我已经编辑了这个问题。张贴方法的签名。