Java 渐变生成失败,无法找到符号“;org.jcp.xml.dsig.internal.dom.XMLDSigRI“;

Java 渐变生成失败,无法找到符号“;org.jcp.xml.dsig.internal.dom.XMLDSigRI“;,java,gradle,java-8,java-7,xml-signature,Java,Gradle,Java 8,Java 7,Xml Signature,我正在使用gradle构建我的多模块项目。 在我的一个类中,我有以下代码段 private XMLSignatureFactory factory = XMLSignatureFactory.getInstance( "DOM", new org.jcp.xml.dsig.internal.dom.XMLDSigRI()); 但是,当我使用gradle构建这个项目时,编译失败,并显示以下错误消息 error: package org.jcp.xml.dsig.inter

我正在使用gradle构建我的多模块项目。 在我的一个类中,我有以下代码段

private XMLSignatureFactory factory = XMLSignatureFactory.getInstance(
            "DOM", new org.jcp.xml.dsig.internal.dom.XMLDSigRI());
但是,当我使用gradle构建这个项目时,编译失败,并显示以下错误消息

error: package org.jcp.xml.dsig.internal.dom does not exist
private XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM", new org.jcp.xml.dsig.internal.dom.XMLDSigRI());
但是我已经验证了上面的类来自JRE的rt.jar。 我已经尝试使用JDK 7和JDK 8

上述问题的根本原因可能是什么

问候,,
玛尤兰

我在你身上遇到了同样的问题。我通过添加以下配置来解决问题:build->maven编译器插件

<compilerArguments>
    <verbose />
    <bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>

${java.home}/lib/rt.jar${java.home}/lib/jce.jar
似乎maven在更高版本的jdk中找不到rt.jar(对我来说,版本是1.8),所以我们需要显式配置


我希望这将对您有所帮助。

即使在这个问题被报道了太多时间之后,这个答案也帮助我解决了这个问题。