Maven sun.security.validator.validator异常依赖项失败

Maven sun.security.validator.validator异常依赖项失败,maven,primefaces,Maven,Primefaces,当我使用Primefaces Maven存储库时,会出现以下异常 mvn clean spring启动:运行 [ERROR] Failed to execute goal on project Passwortmanager: Could not resolve dependencies for project org.dominik:Passwortmanager:jar:2.0.3: Failed to collect dependencies at org.primefaces.theme

当我使用Primefaces Maven存储库时,会出现以下异常

mvn clean spring启动:运行

[ERROR] Failed to execute goal on project Passwortmanager: Could not resolve dependencies for project org.dominik:Passwortmanager:jar:2.0.3: Failed to collect dependencies at org.primefaces.themes:all-themes:jar:1.0.10: Failed to read artifact descriptor for org.primefaces.themes:all-themes:jar:1.0.10: Could not transfer artifact org.primefaces.themes:all-themes:pom:1.0.10 from/to prime-repo (https://repository.primefaces.org): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]
我的POM.xml

    <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.dominik</groupId>
        <artifactId>Passwortmanager</artifactId>
        <packaging>jar</packaging>
        <version>2.0.3</version>


        <repositories>

            <repository>
                <id>prime-repo</id>
                <name>PrimeFaces Maven Repository</name>
                <url>https://repository.primefaces.org</url>
                <layout>default</layout>
            </repository>
            <repository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>https://repo.spring.io/libs-snapshot</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
     <dependencies>

        <dependency>
            <groupId>org.primefaces.themes</groupId>
            <artifactId>all-themes</artifactId>
            <version>${primefaces.theme.version}</version>
        </dependency>
    </dependencies>
 <finalName>Passwortmanager</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

4.0.0
org.dominik
替代解决方案:

  • 删除存储库PrimeFaces()pom.xml
  • 下载JAR主题:
  • 运行命令(命令行或IDE):mvn安装:安装文件-Dfile=all-themes-1.0.10.jar-DgroupId=org.primefaces.themes-DartifactId=all-themes-Dversion=1.0.10-dpackage=jar
  • Maven-更新项目

  • 在Mac和Windows上,从Oracle更新JDK,确保
    java完整版“1.8.0_131-XXX”
    在Mac和Windows上工作。Mac和Windows版本的JDK通常不使用系统证书存储,而是有自己的证书存储

    对于Linux,
    apt-get-ca-certificates
    ,如果安装了
    ca-certificates-Java
    ,它将更新Java证书


    新证书将与
    repository.primefaces.org

    一起使用。为了简单起见,通过安全通道(安全http/https)提供服务的网站/服务需要添加证书,以便其客户可以信任它们

    存储库“”使用let's encrypt证书。有趣的是,通常情况下,您可以在浏览器中打开链接,但java会引发安全异常,这是因为它将其证书存储在单独的位置(我的情况就是这样:Windows7、Oracle java 1.8.092)。它将证书存储在{jre_PATH}/lib/security中

    但是,您应该注意到有,而且由于我们在构建时使用JDK,因此我们应该将新证书添加到JDK目录中的jre中

    要添加新证书,请在浏览器(firefox)中打开“”,然后导出证书。(我选择了使用链),然后需要将其添加到密钥库中:

    keytool -keystore cacerts -importcert -file [NAME_OF_CERT_FILE]
    
    然后输入密码(默认密码为“changeit”)


    就是这样:)

    看起来像是证书错误。最简单的解决方法是,如果您可以尝试使用http而不是httpsIt,那么许多thanksIt都不起作用。我重新启动intelliJ,现在我得到了同样的错误。这是关于intelliJ还是Maven的问题?因为我想告诉那些可以帮助Intellij的人(注意你问题中缺少的标签),他们可能需要关于你的配置的更多细节。这是一个专业的问题。当在终端中构建项目时,我得到了相同的输出。这不是问题的解决方案,但至少在主要问题得到解决之前,这是一个有用的解决方案。这是一个彻底的解决方案,但我想要一个稳定的解决方案。我向github primefaces存储库添加了一个票证。谢谢大家,你们需要更新CA证书。我在Mac上注意到了这一点,但在Windows或Linux上没有(通过ca证书)这太复杂了。PrimeFaces repo证书的颁发者是现代jdk的。是的,一个显而易见的解决方案是升级jdk,但当您在团队中工作时,您不能随心所欲地更改配置,因为这可能会导致代码库不兼容。更新到最新的1.8.0xx应该不会有问题。如果这是可怕的(在开发机器上!!!)停止使用java…;-)我不是说这有什么大不了的,但我相信升级/更改生成配置应该是最后的手段,而不是第一个解决方案,因为这样的更改可能会产生意外的后果。保持生成和测试环境的最新应该始终是第一件事。简单地说,由于延迟太多(比如升级到现代jsf版本或更新的PrimeFaces版本),它可能最终成为一个大任务的好办法,而这个任务(由于错误的原因)根本就没有完成(或者使用一个变化更大的js应用程序框架进行切换)