简体   繁体   English

在 Eclipse 中创建 Maven 项目时出现认证路径错误

[英]Certification path error when creating Maven project in Eclipse

I am trying to create a Maven project in Eclipse Oxygen but errors resulted.我正在尝试在 Eclipse Oxygen 中创建一个 Maven 项目,但出现错误。 These are the steps that I did:这些是我所做的步骤:

  1. Select File -> New -> Maven Project.选择文件 -> 新建 -> Maven 项目。
  2. On the pop-up window, check "Create a simple project (skip archetype selection), and check "Use default Workspace location" (leaving the location field blank).在弹出窗口中,选中“创建简单项目(跳过原型选择)”,然后选中“使用默认工作区位置”(将位置字段留空)。
  3. Click Next.点击下一步。
  4. Enter "com.xyz" for "Group Id", "test" for "Artifact Id", "0.0.1-SNAPSHOT" for "Version", and "jar" for "Packaging". “组 ID”输入“com.xyz”,“工件 ID”输入“测试”,“版本”输入“0.0.1-SNAPSHOT”,“包装”输入“jar”。
  5. Leaving the rest of the fields blank, click Finish.将其余字段留空,单击完成。

The project was created with errors.项目创建时出错。 In the Workspace Log, I can see the following:在工作区日志中,我可以看到以下内容:

    Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.6

When I opened the newly created pom.xml, I can see an error:当我打开新创建的 pom.xml 时,可以看到一个错误:

Multiple annotations found at this line:
- CoreException: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could not be 
 resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:3.1: ArtifactResolutionException: Failure to transfer 
 org.apache.maven.plugins:maven-compiler-plugin:pom:3.1 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be 
 reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven.plugins:maven-
 compiler-plugin:pom:3.1 from/to central (https://repo.maven.apache.org/maven2): sun.security.validator.ValidatorException: PKIX path building failed: 
 sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (execution: default-
 testCompile, phase: test-compile)
- Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from https://repo.maven.apache.org/maven2 was cached in the local 
 repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact 
 org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (execution: default-compile, 
 phase: compile)

Below is what I had previously put in the settings.xml, which contains the proxy settings as I am behind firewall.下面是我之前放在 settings.xml 中的内容,其中包含我在防火墙后面的代理设置。

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              https://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository/>
    <interactiveMode/>
    <usePluginRegistry/>
    <offline/>
    <pluginGroups/>
    <servers/>
    <mirrors/>
    <proxies>
            <proxy>
                    <id>example-proxy</id>
                    <active>true</active>
                    <protocol>http</protocol>
                    <host>xx.xx.xx.xx</host>
                    <port>80</port>
                    <username>xxxxxxxx</username>
                    <password>xxxxxxxx</password>
                    <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
            </proxy>
    </proxies>
    <profiles/>
    <activeProfiles/>
</settings>

It seems that my main problem has got to do with certification path, as shown by the following line which I extracted out from the above errors.似乎我的主要问题与认证路径有关,如我从上述错误中提取的以下行所示。

sun.security.validator.ValidatorException: PKIX path building failed: 
 sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

So how do I resolve this certification path error?那么我该如何解决这个认证路径错误呢?

Problems using Maven and SSL behind proxy 在代理后面使用Maven和SSL的问题

Here is the thread looks similar to your issue, where you are trying to try to connect to an https remote repository - " https://repo.maven.apache.org/maven2/ ". 这是看起来与您的问题类似的线程,您试图在该线程中尝试连接到https远程存储库-“ https://repo.maven.apache.org/maven2/ ”。 Mostly certificate to support HTTPS connections is not included in included in the cacerts file. cacerts文件中通常不包含支持HTTPS连接的证书。

Add SSL certificate to your JDK and then add this in eclipse.ini将 SSL 证书添加到您的 JDK,然后将其添加到 eclipse.ini

-Djavax.net.ssl.trustStore=C:\\Program Files\\Java\\jdk1.8.0_311\\jre\\lib\\security\\cacerts -Djavax.net.ssl.trustStore=C:\\Program Files\\Java\\jdk1.8.0_311\\jre\\lib\\security\\cacerts

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM