如何在 NetBeans IDE 中更改 maven 的远程存储库 URL(从 http 到 https)?

ste*_*ess 8 netbeans maven maven-surefire-plugin remote-repository

尝试运行 NetBeans 项目时,我收到以下错误消息:

无法在项目 MyNetBeansProject 上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test): 执行目标 org.apache.maven.plugins:maven-surefire-plugin 的默认测试: 2.10:test failed: Plugin org.apache.maven.plugins:maven-surefire-plugin:2.10 或其依赖项之一无法解析:无法收集 org.apache.maven.plugins:maven-surefire-plugin 的依赖项: jar:2.10 (): 无法读取 org.apache.maven.surefire:surefire-booter:jar:2.10 的工件描述符:无法从/到传输工件 org.apache.maven.surefire:surefire-booter:pom:2.10中央(http://repo.maven.apache.org/maven2):无法传输文件:http : //repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/2.10/ surefire-booter-2.10.pom. 返回码为: 501 , ReasonPhrase:HTTPS 必需。-> [帮助 1]

错误消息的以下部分是最重要的部分:

无法传输文件:http : //repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/2.10/surefire-booter-2.10.pom。返回码为: 501 , ReasonPhrase:HTTPS 必需。

Services -> Maven Repositories -> Central Repository -> 鼠标右键点击“Central Repository”给出以下信息:

在此处输入图片说明

可以看到,远程存储库 URL 是“ http://repo.maven.apache.org/maven2/ ”。我认为它应该是“ https://repo.maven.apache.org/maven2/ ”。但是,问题是我似乎无法更改远程存储库 URL。

有谁知道如何在 NetBeans IDE 中更改 maven 的远程存储库 URL?


更新:

在 NetBeans -> Preferences 下,可以看到我的 NetBeans IDE 使用的 maven 版本是 3.0.5 版:

在此处输入图片说明

Dmi*_*y.M 12

我认为你有三个选择。

1. 迁移到 11.0

您可以迁移到 Netbeans 11.0 LTS(或 11.2),它使用内置的 Maven 3.3.9 版本。它已经使用了 https。

在此处输入图片说明

2. 安装独立的 Apache Maven

您可以继续使用 Netbeans 8.2,但下载独立的 apache maven,将其安装到您的系统并在Options -> Java -> Maven -> Maven Home 中设置新 maven 主目录的路径

你只需要:

  1. Apache下载 apache-maven-3.6.3-bin.zip(或 apache-maven-3.6.3-bin.tar.gz)
  2. 解压到任意目录。这将是 Maven 的家。
  3. 将 NetBeans 中的 Maven 主目录设置为解压缩 zip 文件的目录。
  4. 确保您在环境变量中设置了 JAVA_HOME

有关如何在此处安装独立版本的说明。

如果您在 NetBeans 中正确设置了 Maven Home,它将显示更新版本: 在此处输入图片说明

3.快速且不推荐

只需使用 https 将存储库添加到您的 pom.xml 中(例如这样

<repositories>
        <repository>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://repo.maven.apache.org/maven2</url>
        </repository>
    </repositories>
<pluginRepositories>
    <pluginRepository>
        <releases>
            <updatePolicy>never</updatePolicy>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>central</id>
        <name>Central Repository</name>
        <url>https://repo.maven.apache.org/maven2</url>
    </pluginRepository>
</pluginRepositories>
Run Code Online (Sandbox Code Playgroud)

Maven Central 迁移到 https

问题来自于此

自 2020 年 1 月 15 日起,中央存储库不再支持通过 HTTP 进行的不安全通信,并要求对存储库的所有请求都通过 HTTPS 进行加密。

以下是已解决的相关改进和相关更改


Kar*_*mar 12

在 Netbeans 安装中,这对我有用:

Goto Netbeans installation folder > java > maven > conf,在这里我settings.xml使用管理权限更新了文件。

由于 http repo 链接现在不起作用,只是我为centralrepo创建了一个镜像,该镜像是用 IDE 预构建的,无法更改。

添加这个内镜标签 settings.xml

<mirror>
      <id>mirror1</id>
      <mirrorOf>central</mirrorOf>
      <name>mirror1</name>
      <url>https://repo.maven.apache.org/maven2/</url>
</mirror>
Run Code Online (Sandbox Code Playgroud)

在重新启动 netbeans IDE 后,中央存储库将被我们指定的镜像覆盖。

  • 这实际上回答了问题 (4认同)