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

时间:2018-04-19 08:57:19

标签: 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个小时并且一直在浏览SO中的各种类似帖子,我已经解决了其他依赖性问题但无法解决这个问题。

Que :那么我该如何从一开始就创建一个没有错误的Maven项目呢?

2 个答案:

答案 0 :(得分:6)

我找到了解决方案。我是公司防火墙/代理的幕后黑手。我很难得到正确的解决方案,因为尽管有很多帖子提出同样的问题但没有详细的在线指南。

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

第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项目-> Run as -> Maven Clean

现在应该解决您的问题

答案 1 :(得分:0)

  1. 从 (conf/settings.xml) 通用文件中复制 settings.xml

  2. 到 m2/Repository.. 路径

  3. 然后更新代理

你会在你的 IE 连接中找到它