Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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 未找到SOAPConnectionFactory的类定义_Java_Intellij Idea - Fatal编程技术网

Java 未找到SOAPConnectionFactory的类定义

Java 未找到SOAPConnectionFactory的类定义,java,intellij-idea,Java,Intellij Idea,我正在使用模块从Java9(JDK9.0.4)中的Java8重新构建一个应用程序。其中一个模块需要对服务器进行SOAP调用,以检查各种服务是否正在运行,然后通过电子邮件报告这些服务的状态 我知道在Java9中SOAP库已经被弃用,但还没有被删除。我在相应的模块信息中将java.xml.ws模块声明为需求: module services { exports com.nams.hyperion.services; requires configurations; requ

我正在使用模块从Java9(JDK9.0.4)中的Java8重新构建一个应用程序。其中一个模块需要对服务器进行SOAP调用,以检查各种服务是否正在运行,然后通过电子邮件报告这些服务的状态

我知道在Java9中SOAP库已经被弃用,但还没有被删除。我在相应的模块信息中将
java.xml.ws
模块声明为需求:

module services {
    exports com.nams.hyperion.services;

    requires configurations;
    requires java.xml.ws;
}
它可以编译,但在尝试运行项目时出现错误:
java.lang.NoClassDefFoundError:javax/xml/soap/SOAPConnectionFactory

scf = SOAPConnectionFactory.newInstance(); <-- error here
conn = scf.createConnection();
mf = MessageFactory.newInstance();
msg = mf.createMessage();

scf=SOAPConnectionFactory.newInstance() 我找到了一个可以使用的Maven发行版:

但是,模块信息文件给了我一个警告,我的模块从两个同名源读取
java.xml.ws
;但是项目在运行,这是目前对我来说最重要的。稍后我将研究如何处理模糊性,如果我能够做到的话,我将更新这个答案

更新: 我从模块的依赖项中删除jar文件,但将其保留在Maven的依赖项列表中,从而解决了这种模糊性