不能让行家使用HTTPS尽管settings.xml的配置在那里我有仓库使用HTTPS

Giorgi的Tsiklauri:

我已经研究了几乎全部的StackOverflow,Apache的网站和所有我能在一天做的,但不能设法得到这个工作。

我有Maven 3.0.5Jdk8安装(这是针对特定堆栈和版本将不会被修改)一个无业游民环境中。我所知道的Apache的决定,迫使所有Maven仓库只使用HTTPS,否则Maven的客户将不会说话库服务器。

好像我在配置的所有必要的设置~/.m2/settings.xml和一些非常奇怪的原因,当我运行任何命令(任何构建阶段,说mvn clean),Maven的默认HTTP和不关心的settings.xml -它仍然试图下载引用/使用HTTP协议的依赖关系。

我的例子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">
<repositories>
  <repository>
    <id>central</id>
    <url>https://repo1.maven.org/maven2/</url>
  </repository>

  <repository>
    <id>central</id>
    <url>https://repo.maven.apache.org/maven2/</url>
  </repository>
</repositories>

这里就是我得到的测试命令mvn archetype:generate(问题仍然存在任何其他构建阶段的命令)

[INFO]扫描的项目...下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom [警告]无法检索org.apache.maven.plugins插件描述:Maven的清理插件:2.5:插件org.apache.maven.plugins:Maven的清理插件:2.5或它的一个依赖无法解析:无法读取org.apache.maven.plugins神器描述:Maven的清理插件:罐子:2.5下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-安装-插件/ 2.3 /行家安装-插件-2.3.pom[警告]无法检索org.apache.maven.plugins插件描述:Maven的安装,插件:2.3:插件org.apache.maven.plugins:Maven的安装,插件:2.3或它的一个依赖无法解析:无法读取org.apache.maven.plugins神器描述:Maven的安装,插件:罐子:2.3下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-部署-插件/ 2.7 /行家部署-插件-2.7.pom [警告]无法检索org.apache.maven.plugins插件描述:Maven的部署-插件:2.7:插件org.apache.maven.plugins:行家-deploy-插件:2.7或它的一个依赖无法解析:无法读取org.apache.maven.plugins神器描述:Maven的部署-插件:罐子:2.7下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-site-plugin/3.0/maven-site-plugin-3.0.pom [警告]无法检索组织插件描述符。 apache.maven.plugins:Maven的网站插件:3.0:插件org.apache.maven.plugins:Maven的网站插件:3.0或它的一个依赖无法解析:无法读取工件描述符org.apache。 maven.plugins:Maven的网站插件:罐子:3.0下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin -1.3.pom[警告]无法检索插件描述符org.apache.maven.plugins:Maven的antrun-插件:1.3:插件org.apache.maven.plugins:Maven的antrun-插件:1.3或它的一个依赖无法解析:无法读取org.apache.maven.plugins神器描述:Maven的antrun-插件:罐子:1.3下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-组装插件/ 2.2-β-5 /行家组装-插件-2.2-β-5.pom [警告]无法检索插件描述符org.apache.maven.plugins:Maven的组装插件:2.2-β- 5:插件org.apache.maven.plugins:Maven的组装插件:2.2-β-5或它的一个依赖无法解析:无法读取org.apache.maven.plugins工件描述符:Maven的组件-插件:罐:2.2-β-5下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.1/maven-dependency-plugin-2.1.pom [警告]无法检索组织插件描述符。 apache.maven.plugins:Maven的依赖关系的插件:2.1:插件org.apache.maven.plugins:Maven的依赖关系的插件:2.1或它的一个依赖无法解析:无法读取工件描述符org.apache。 maven.plugins:Maven的依赖关系的插件:罐子:2.1下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.0/maven-release-plugin -2.0.pom[警告]无法检索org.apache.maven.plugins插件描述:Maven的释放插件:2.0:插件org.apache.maven.plugins:Maven的释放插件:2.0或它的一个依赖无法解析:无法读取org.apache.maven.plugins工件描述符:Maven的释放插件:罐:2.0下载:http://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata。 XML下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml [警告]无法传送元数据org.apache.maven.plugins /行家-metadata.xml中从/到中央(http://repo.maven.apache.org/maven2):无法传输文件:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata .XML返回码为:501,ReasonPhrase:HTTPS必需。[警告]无法从/传送元数据org.codehaus.mojo /行家-metadata.xml中到中央(http://repo.maven.apache.org/maven2):无法传输文件:HTTP://repo.maven .apache.org / maven2的/组织/ Codehaus的/魔力/ Maven的metadata.xml中返回码为:501,ReasonPhrase:HTTPS必需。[警告]未能转移org.apache.maven.plugins /从Maven的metadata.xml中http://repo.maven.apache.org/maven2在本地资源库中被缓存,分辨率不会重试,直到更新时间间隔中央已经过去或更新被迫。原始错误:无法从/传送元数据org.apache.maven.plugins /行家-metadata.xml中到中央(http://repo.maven.apache.org/maven2):无法传输文件:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml返回码为:501,ReasonPhrase:HTTPS必需。[警告]未能转移org.codehaus.mojo从/行家-metadata.xml中http://repo.maven.apache.org/maven2在本地资源库中被缓存,分辨率不会重试,直到中央的更新间隔具有经过或更新被迫。原始错误:无法从/传送元数据org.codehaus.mojo /行家-metadata.xml中到中央(http://repo.maven.apache.org/maven2):无法传输文件:HTTP://repo.maven .apache.org / maven2的/组织/ Codehaus的/魔力/ Maven的metadata.xml中返回码为:501,ReasonPhrase:HTTPS要求

我该怎么办?正如你看到的,在使用HTTP,我得到相应的HTTP 501。

Giorgi的Tsiklauri:

正如我整天都在这一点,我认为这是值得的经验分享,调试的结果,解决这个问题的办法。

有两个问题:

1)[警告]无法检索插件描述符。(任何插件名称)在几乎所有的构建阶段的警告(清洁,包装,等等),它说,(重要>>)的检索插件描述符或它的依赖(该装置的插件,而不是项目的依赖!)是不会成功的。

这个原因(在这种情况下)是行家试图与终点机(库),通过通信HTTP,(如你在问题的报价看)尽管(!),我已经定制了自己的配置.m2\settings.xml文件,所有的存储库定义条目定义使用HTTPS,分别,似乎是行家应该通过以下方式乱投医HTTPS ..但没有,它使用HTTP的插件,并与Maven仓库任何HTTP通信自2020年起年1月,15日禁止

我解决这个问题的方法是定义和配置<profiles/>,并<pluginRepositories/>作为@carlspring建议,但我不得不阐述和展开的回答一点。所以,这里是我准备好settings.xml例子:(注意,只是为了安全起见,我提供了两个备选库-配置文件和库)

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"                                                                                                                                     $    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                        https://maven.apache.org/xsd/settings-1.0.0.xsd">

<profiles>
<profile>
   <id>ssl-profile</id>
   <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <repositories>
        <repository>
            <id>central-1</id>
            <url>https://repo1.maven.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>central-2</id>
            <url>https://repo1.maven.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
</profile>
  <repositories>
    <repository>
      <id>central1</id>
      <url>https://repo1.maven.org/maven2/</url>
    </repository>
    <repository>
      <id>central2</id>
      <url>https://repo.maven.apache.org/maven2/</url>
    </repository>
  </repositories>
  </profiles>
</settings>

在此之后得到解决,终于Maven会帮这个配置,并开始尝试通过连接到所有存储库HTTPS,我有另外的-第二个问题。

2)对等体不被认证,随后返回码为:501,ReasonPhrase:HTTPS必需。

这是一个有点棘手,但解决这个的方法是用信任播放cacerts文件。首先,检查你是否有信任的文件cacerts,以及它是否是空的或不!它不能是空的,这是非常重要的。好像在OpenJDK11和其他一些建立在某些Windows / Linux发行版,cacerts文件丢失或空的; 然而,根据我的观察,这是目前在OracleJDK构建。

  • Windows建立,应该是下%JAVA_HOME%\lib\security\;
  • 在Linux上构建,它可能会有所不同(根据Linux发行版和您的设置),但对我来说,这是在/etc/ssl/certs(我认为这是由于Linux的证书文件夹,不是特别Java的一个)。

如果你看到(和你看到的最有可能的,如果你有这对未通过身份验证的问题),你要么没有cacerts文件或者是空的(简单地检查文件的大小,它应该比几位大),您可以:

  • 只需复制粘贴现有的cacerts其他一些JDK / JRE build文件;
  • 产生一个cacerts信任文件,并添加证书(S)它(在这种情况下,你将需要添加尽可能多的证书,因为你需要,那么,也许它更容易去只需复制粘贴)

我希望这有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我使用BufferedReader获取HTML时,我需要的部分不在那里

来自分类Dev

无法选择我的领域,也无法使用 codeception 在那里写字

来自分类Dev

我是否需要在那里显式使用flush()方法?

来自分类Dev

“ parcella_pk”在那里不行,它导致“ ValueError”。我应该使用什么?

来自分类Dev

如何在MVC4中使用href?我被困在那里

来自分类Dev

使用Xcode遇到错误“没有这样的模块”,但是框架在那里

来自分类Dev

在使用 pylint 时,我发现它还有一个静默运行选项。它为什么在那里,它有什么用?

来自分类Dev

Python:有什么方法可以让我使用脚本并将其内容导入空闲状态以便在那里编辑它们?

来自分类Dev

使用多列进行计算,条件是数据在那里

来自分类Dev

xinitrc的奥秘-那里可以有什么,不能在那里有什么

来自分类Dev

你如何使用 lambda 连接到 RDS,我应该在那里放置查询吗?

来自分类Dev

为什么我们在那里使用一个monoid和一个函子?

来自分类Dev

为什么变量为零,尽管我在那里引用了对象

来自分类Dev

我已经开发了使用PHP7的应用程序,但是服务器上有PHP5,我们无法在那里升级PHP

来自分类Dev

我正在尝试使用 selenium python 单击 chrome 新选项卡中的一个元素,但我收到错误没有这样的元素,即使该元素在那里

来自分类Dev

秘密密钥在那里,尽管它说在Django中没有秘密密钥

来自分类Dev

有没有办法使用带有可选键的打字稿接口,然后具体化这些键在那里?

来自分类Java

使用Java捕获屏幕区域并识别在那里找到的文本

来自分类Dev

使用Dropbox / Copy / OneDrive同步文件夹而不将文件夹放在那里

来自分类Dev

如何为目标制作 gdb 并在那里使用它

来自分类Dev

无法使用[UIImage imageWithContentsOfFile:]创建UIImage,并且文件在那里

来自分类Dev

如何使用 mottie 键盘输入美分并将它们保留在那里?

来自分类Dev

在另一个文件中调用异步函数并在那里使用 .then

来自分类Dev

注册表OpenSubkey返回null,尽管在那里

来自分类Dev

流星和反应地图恢复未定义状态,我知道数据在那里,但尽管等待isLoading,但仍在加载

来自分类Dev

尽管我在那里添加了数据,但为什么此时数组始终为空?

来自分类Dev

尽管我在那里添加了数据,但此时数组始终为空。这是怎么回事?

来自分类Dev

form_for helper 给了我一个错误,尽管它在那里缺少一个参数

来自分类Dev

删除函数,而不是使用弃用的注解使其保留在那里是一种好习惯吗?

Related 相关文章

  1. 1

    当我使用BufferedReader获取HTML时,我需要的部分不在那里

  2. 2

    无法选择我的领域,也无法使用 codeception 在那里写字

  3. 3

    我是否需要在那里显式使用flush()方法?

  4. 4

    “ parcella_pk”在那里不行,它导致“ ValueError”。我应该使用什么?

  5. 5

    如何在MVC4中使用href?我被困在那里

  6. 6

    使用Xcode遇到错误“没有这样的模块”,但是框架在那里

  7. 7

    在使用 pylint 时,我发现它还有一个静默运行选项。它为什么在那里,它有什么用?

  8. 8

    Python:有什么方法可以让我使用脚本并将其内容导入空闲状态以便在那里编辑它们?

  9. 9

    使用多列进行计算,条件是数据在那里

  10. 10

    xinitrc的奥秘-那里可以有什么,不能在那里有什么

  11. 11

    你如何使用 lambda 连接到 RDS,我应该在那里放置查询吗?

  12. 12

    为什么我们在那里使用一个monoid和一个函子?

  13. 13

    为什么变量为零,尽管我在那里引用了对象

  14. 14

    我已经开发了使用PHP7的应用程序,但是服务器上有PHP5,我们无法在那里升级PHP

  15. 15

    我正在尝试使用 selenium python 单击 chrome 新选项卡中的一个元素,但我收到错误没有这样的元素,即使该元素在那里

  16. 16

    秘密密钥在那里,尽管它说在Django中没有秘密密钥

  17. 17

    有没有办法使用带有可选键的打字稿接口,然后具体化这些键在那里?

  18. 18

    使用Java捕获屏幕区域并识别在那里找到的文本

  19. 19

    使用Dropbox / Copy / OneDrive同步文件夹而不将文件夹放在那里

  20. 20

    如何为目标制作 gdb 并在那里使用它

  21. 21

    无法使用[UIImage imageWithContentsOfFile:]创建UIImage,并且文件在那里

  22. 22

    如何使用 mottie 键盘输入美分并将它们保留在那里?

  23. 23

    在另一个文件中调用异步函数并在那里使用 .then

  24. 24

    注册表OpenSubkey返回null,尽管在那里

  25. 25

    流星和反应地图恢复未定义状态,我知道数据在那里,但尽管等待isLoading,但仍在加载

  26. 26

    尽管我在那里添加了数据,但为什么此时数组始终为空?

  27. 27

    尽管我在那里添加了数据,但此时数组始终为空。这是怎么回事?

  28. 28

    form_for helper 给了我一个错误,尽管它在那里缺少一个参数

  29. 29

    删除函数,而不是使用弃用的注解使其保留在那里是一种好习惯吗?

热门标签

归档