代码之家  ›  专栏  ›  技术社区  ›  Jaumzera

运行puppycrawl的maven checkstyle插件时出错

  •  0
  • Jaumzera  · 技术社区  · 8 年前

    好吧,我正在尝试在我正在处理的项目上配置maven的checkstyle插件,我得到了以下信息:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:check (verify-style) on project email: Failed during checkstyle execution: Failed during checkstyle configuration: unable to parse configuration stream: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]
    

    所以,跑步 mvn install -X 我得到了以下堆栈跟踪:

    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
            at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
            at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
            at sun.security.validator.Validator.validate(Validator.java:260)
            at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
            at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
            at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
            at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)
            ... 52 more
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
            at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
            at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
            at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
            at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
            ... 58 more
    

    它似乎与我在github的以下链接中找到的google-checks.xml中指定的dtd有关: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml :

    <?xml version="1.0"?>
    <!DOCTYPE module PUBLIC
              "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
              "https://checkstyle.org/dtds/configuration_1_3.dtd">
    

    我试图将该证书添加到我的jvm信任库中,但它不起作用。 有人知道出什么事了吗?

    提前谢谢你。

    1 回复  |  直到 8 年前
        1
  •  3
  •   rveach    8 年前

    https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml

    请使用您正在使用的checkstyle版本的配置dtd。 master 是当前发展的方向。当我们在master中更改和添加新内容时,checkstyle的发布版本可能不支持它,最终会出现异常。

    下面是8.10.1版的google xml示例: https://github.com/checkstyle/checkstyle/blob/checkstyle-8.10.1/src/main/resources/google_checks.xml