Java 未找到SOAPConnectionFactory的类定义
我正在使用模块从Java9(JDK9.0.4)中的Java8重新构建一个应用程序。其中一个模块需要对服务器进行SOAP调用,以检查各种服务是否正在运行,然后通过电子邮件报告这些服务的状态 我知道在Java9中SOAP库已经被弃用,但还没有被删除。我在相应的模块信息中将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
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的依赖项列表中,从而解决了这种模糊性