java - 如何绕过 Maven 的企业防火墙/代理

标签 java eclipse maven

我一直在尝试在 Eclipse 中创建一个新的 Maven 项目(我使用的是 Windows 10),但是在创建项目时,它显示:

Errors occurred during the build.
Errors running builder 'Maven Project Builder' on project 'b'.

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

当看POM.xml , 表明..

enter image description here

我尝试删除 .m2文件夹和 Right-click project -> Maven -> Update Project..
它显示我..

enter image description here

在另一个 SO 帖子的一个解决方案中,它提到了在代理后面的可能性。

但是通过检查 http://amibehindaproxy.com/看来我不是代理。

enter image description here

我尝试在 NetBeans 中制作一个 Maven - Java 应用程序项目。它似乎可以正常工作而没有显示任何错误。但是在Eclipse中新建一个Maven项目总是出现这个错误对话框:

enter image description here

我还创建了一个 settings.xml.m2包含以下内容的文件夹。这会帮助我通过防火墙/代理限制吗?
 <proxies>
    <proxy>
        <active>true</active>
        <host>203.126.xxx.xxx</host>
        <port>8080</port>
    </proxy>
</proxies>

我已经尝试了 6 多个小时,并且一直在浏览各种类似的帖子,我已经解决了其他依赖问题,但无法解决这个问题。

: 那么我该怎么做才能从一开始就创建一个没有错误的Maven项目呢?

最佳答案

我找到了解决办法。我在公司防火墙/代理后面。我很难找到正确的解决方法,因为尽管有很多帖子问了同样的问题,但没有详细的在线指南。

我正在为 future 面临相同问题的所有用户提供(尽可能详细)指南。

步骤 1 - 创建 settings.xml

我们需要在 settings.xml 中为 Maven 设置一个代理文件。如果此文件不是为您自动生成的,请使用任何文本编辑器(例如记事本)并粘贴以下内容:

<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 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <proxies>
        <proxy>
            <active>true</active>
            <username>your username</username>
            <password>your password</password>
            <host>your host</host>
            <port>your port</port>
        </proxy>
    </proxies>
</settings>

您也可以使用 NetBeans创建一个Maven项目。它将创建一个 settings.xml为你。然后使用该 settings.xml文件作为您的模板。

例如:
        <proxy>
            <active>true</active>
            <username>anderson</username>
            <password>password123</password>
            <host>proxy.abc.com.</host>
            <port>8080</port>
        </proxy>

我的用户名是什么?

我使用的是公司发给我的我自己的用户名。这也是我用来登录办公室电脑的用户名(Windows用户名)

我的密码是什么?

我正在使用我用来登录办公室计算机的密码(Windows 密码)

我的主机是什么?

如果您使用的是 Windows
  • Internet Explorer
  • 连接选项卡
  • 局域网设置
  • 查找“地址”文本框(它应该在“自动配置”或“代理服务器”中)。任何一个都应该向您显示主机名(写在地址文本框中)。如果您的公司使用脚本文件进行代理设置,就像我的情况一样。读取代理脚本文件的内容以确定主机名。

  • 我的端口是什么?

    enter image description here

    在上面获取主机名的步骤中,您还可以看到端口号。如果您的公司正在使用脚本。将主机复制并粘贴到浏览器上。它将显示或下载到您的计算机中。无论脚本具有什么文件扩展名,您都应该能够使用任何文本编辑器读取脚本内容。在脚本文件中,您将能够看到您公司正在使用的端口号。通过阅读脚本内容,我确定我的公司使用的是 8080 端口。

    第 2 步 - 将 settings.xml 放在正确的位置

    编辑/创建 settings.xml 后文件。您可以将文件放在 .m2文件夹。我在 Windows 中的默认位置是:
    C:\Users\yourUserName\.m2
    

    如果无法确定位置,可以在命令提示符下运行以下命令:
    mvn -X
    

    寻找位置来保存您的 settings.xml文件

    enter image description here

    第 3 步 - 安装/重新更新依赖项/清理/构建项目
  • 右键单击有问题的 Maven 项目 ->运行方式 -> Maven 安装
  • 右键单击有问题的 Maven 项目 ->运行方式 -> Maven 清洁

  • 您的问题现在应该得到解决

    关于java - 如何绕过 Maven 的企业防火墙/代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49916837/

    相关文章:

    java - java中如何删除链表中的唯一节点?

    java - 将 GET 参数和结果集传递给 Java 中的 servlet

    java - 使用eclipse在jdk 1.8中实现swing

    已安装 Android 应用程序但无法在设备上打开

    java - NoSuchMethodError - Maven 依赖项使用不同的子依赖项

    Maven 无法在同一个 repo 中传输许多 Artifact 之一

    java - 如何将 ssl 通配符证书从 Apache 导入到 Tomcat

    java - 在 Eclipse 中导入克隆的 git 项目会导致一些修改的文件

    java - 找不到提供程序 ( ClassNotFoundException ) maven 项目

    java - 存储类属性并在运行时加载的好方法是什么?