当前位置: 首页 > 知识库问答 >
问题:

Maven secure HTTPS存储库和JDK5

有翰海
2023-03-14

自2020年1月以来,maven已经将他们的存储库从HTTP切换到HTTPS。为了让我的项目(使用Java5 maven 3.1.1运行)下载我在pom.xml中更改的存储库:https://repo.maven.apache.org/maven2这工作正常,现在maven尝试从安全存储库访问依赖项。试图构建/清理我的项目时,我面临以下问题:

问题1试图mvn清理我的项目没有任何进一步的参数,我收到以下错误:无法传输工件org.apache.maven.plugins:maven-clee-plugin:pom:2.5 from/to Central(https://repo.maven.apache.org/maven2):对等方未认证-

我试图通过添加以下参数来绕过这个错误:mvn-Dmaven.wagon.http.ssl。不安全=true-Dmaven.wagon.http.ssl。allowall=真正清洁

新错误:无法将工件org.apache.maven.plugins:maven clean plugin:pom:2.5从/传输到中心(https://repo.maven.apache.org/maven2):握手期间远程主机关闭连接:SSL对等端错误关闭-

通过添加以下参数进一步尝试:-Dhttps.protocols=TLSv1.2, TLSv1.1解决一个新的错误:

无法将工件org.apache.maven.plugins:maven clean plugin:pom:2.5从/传输到中心(https://repo.maven.apache.org/maven2):TLSv1.2-

问题2我尝试了另一种方法,使用https://repo.maven.apache.org/maven2/我将证书导入信任存储,并尝试将其与以下maven命令一起使用:

mvn-Djavax.net.ssl.trustStore=C:\PortableApps\trust。jks-Djavax.net.ssl。trustStorePassword=pass-Djavax.net.ssl.keyStore=C:\PortableApps\trust。jks-Djavax.net.ssl。keyStoreType=jks-Djavax.net.ssl。keyStorePassword=pass clean

错误与之前相同,再次无法将工件org.apache.maven.plugins:maven clean plugin:pom:2.5从/传输到中心(https://repo.maven.apache.org/maven2):对等未经身份验证-

我开始相信,由于JVM的限制,这不适用于Java 5。最后,我发现了不安全回购的用法http://insecure.repo1.maven.org/maven2/但我想把它作为我最后的选择。还有什么建议吗?

笔记

  • 在Java7的另一个项目中,我能够通过使用最新的maven版本3.6.3来解决所有问题
  • 由于该项目仅与Java5兼容,因此我只能使用3.1.1的maven版本

共有1个答案

督德泽
2023-03-14

我最终使用了不安全的maven回购协议http://insecure.repo1.maven.org/maven2/为了使其与Java 5(构建/运行)一起工作。

或者,正如评论中已经提出的那样,您可以使用JDK 7进行构建过程,以便从secure maven repository下载依赖项,并使用Java 5运行应用程序。

看起来,在使用Java 5时,由于缺少maven似乎使用的TLSv1.2支持,无法访问安全的maven repo(https://central.sonatype.org/articles/2018/May/04/discontinued-support-for-tlsv11-and-below/?__hstc=31049440.13cc707ef0d169390d4d7ac8ba12c78e.1571910247825.1579506965027.1580304556973.4

 类似资料:
  • 搜索仓库和镜像 你可以使用 Docker 来搜索所有公开可用的仓库和镜像。 $ docker search ubuntu 这将通过 Docker 提供的关键字匹配来显示您可用的仓库列表。 私有仓库将不会显示到仓库搜索结果上。你可以通过 Docker Hub 的简况页面来查看仓库的状态。 仓库 你的 Docker Hub 仓库有许多特性。 stars 你的仓库可以用星被标记,你也可以用星标记别的仓

  • rdf4j有一个问题:我想从GraphDB存储库“Feed”中删除所有以为谓词的三元组。 第一个查询验证是否存在一个三元组,参数作为主语,作为谓词,参数是否有object,并且是否有效。如果我的存储库中不存在此语句,则第二个查询开始,它应该删除所有三元组,将作为谓词,将作为主语,但它不起作用,问题是什么? 下面是代码: 错误代码为:"Missing参数:查询",服务器响应为:"400错误请求"

  • 我正在尝试实现一个简单的REST服务,该服务基于具有Spring启动和Spring数据Rest的JPA存储库。(请参阅此教程)如果将以下代码与 gradle 一起使用,则运行良好: 为了让事情变得更简单,我使用Spring boot CLI(“Spring run”命令)尝试了相同的代码。 不幸的是,这似乎不起作用@RepositoryRestResource似乎无法像@RestControlle

  • 我已经实现了一个小用例来评估Spring Data Neo4j。我有一个接口,它扩展了GraphRepository。 界面是这样的: 这给了我错误< code >“类型PublicRepository的层次结构不一致”。 这种类型的错误是因为当前类扩展/实现的类/接口之一不存在,而当前类又在扩展/实现另一个类/接口。 查看核心库的包我发现库中没有扩展为CRUDRepository的接口。我在Ne

  • 什么是Maven存储库? 在Maven术语中,存储库是存储所有项目jar,库jar,插件或任何其他项目特定工件的目录,并且可以由Maven轻松使用。 Maven存储库有三种类型。 下图将给出关于这三种类型的想法。 local central remote 本地存储库 Maven本地存储库是计算机上的文件夹位置。 它是在第一次运行任何maven命令时创建的。 Maven本地存储库保存您项目的所有依赖

  • 我有一个用例,我需要从一个Kafka主题中消费,做一些工作,生成另一个只有一次语义的Kafka主题,并保存到mongo数据库。看完文档后,我想kafka事务和mongo事务可以同步,但它们仍然是两个不同的事务。在下面的场景中,如果mongo提交失败,是否有方法回滚提交到主题并从消费者处重播的kafka记录。