题 Maven插件不使用Eclipse的代理设置


我正在使用基于Eclipse 3.7的springsource工具套件2.7.2。 Maven插件现在开箱即用Eclipse,这很棒,即使使用以前版本的Eclipse也会出现这个问题。

所以这是我的问题:

我在我的代理中设置了代理信息 settings.xml 文件,并在命令行Maven工作正常。我还在Eclipse配置本身中设置了相同的代理详细信息,我知道它是正确的,并且更新与它一起工作,而不是没有。

当然,我的Eclipse安装中的Maven插件设置为使用正确的 settings.xml 文件。

但是eclipse中的maven只是没有使用这两个地方的代理设置,每次更改pom文件时这都非常烦人。 有没有人有这个问题的解决方案?

的settings.xml

这是我的settings.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
  <settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <profiles>
    <profile>
      <id>general</id>
      <repositories>
        <repository>
          <snapshots><enabled>false</enabled></snapshots>
          <id>ibiblio</id>
          <name>Maven ibiblio</name>
          <url>http://www.ibiblio.org/maven2</url>
        </repository>

        <repository>
          <snapshots><enabled>true</enabled></snapshots>
          <id>ibiblio2</id>
          <name>Maven ibiblio2</name>
          <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
        </repository>

        <repository>
          <snapshots><enabled>true</enabled></snapshots>
          <id>maven</id>
          <name>Maven sunsite</name>
          <url>http://repo1.maven.org/maven2/</url>
        </repository>

        <repository>
          <snapshots><enabled>true</enabled></snapshots>
          <id>jboss</id>
          <name>Maven jboss</name>
          <url>http://repository.jboss.org/maven2/</url>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>general</activeProfile>
  </activeProfiles>

  <proxies>
    <proxy>
      <id>proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>myproxyserver</host>
      <port>80</port>
      <username>myusername</username>
      <password>mypassword</password>
    </proxy>
  </proxies>
</settings>

61
2017-10-12 09:10


起源


你使用嵌入式maven安装吗? - yozh
是的,我没有安装任何特殊的maven支持所以它是开箱即用的。 - TheYann
M2E代理使用对我有用。我刚检查了我的代理日志以确认它。请发布您的settings.xml,也许命令行以另一种方式选择设置(例如,Linux可能允许http_proxy envvar)。 - Darryl Miles
我现在添加了settings.xml内容。不幸的是我无法访问代理日志,因为它由我的公司管理,对我来说完全无法访问:(但据我所知这是好的,因为命令行它工作得很好! - TheYann


答案:


Maven插件使用可以设置配置的设置文件。它的路径在Eclipse中可用 Window|Preferences|Maven|User Settings。如果该文件不存在,请创建它并添加如下内容:

<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">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <proxies>
    <proxy>
      <id>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>192.168.1.100</host>
      <port>6666</port>
      <username></username>
      <password></password>
      <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
    </proxy>
  </proxies>
  <profiles/>
  <activeProfiles/>
</settings>

编辑文件后,只需点击即可 Update Settings 按钮,它完成了。我刚刚完成它并且它有效:)


105
2018-06-21 17:52



进行上述更改后,如果尝试在Eclipse中更新项目,可能仍会出现错误。您需要强制更新:右键单击您的项目(项目/包资源管理器) - > Maven - >更新项目 - >选中“强制更新快照/版本”框,然后单击“确定”。 - Wesam
工作..感谢您提供示例settings.xml - Vishnudev K
样品和力量更新,使用它对我有用!谢谢你们俩! - Jugal Panchal
选中“强制更新快照/版本”框是绝对必要的。谢谢! - xli
根据文档,例外必须由分隔 | 并不是 , (看到 maven.apache.org/guides/mini/guide-proxies.html) - Trinimon


<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">

     <proxies>
       <proxy>
          <active>true</active>
          <protocol>http</protocol>
          <host>proxy.somewhere.com</host>
          <port>8080</port>
          <username>proxyuser</username>
          <password>somepassword</password>
          <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
        </proxy>
      </proxies>

    </settings>

窗口>首选项> Maven>用户设置

enter image description here


33
2017-10-21 12:19



HEY GUYS,如果你无法修复stackoverflow.com/a/25912472/5478948,请看这里 - java.nazif


Eclipse默认情况下不了解您的外部Maven安装并使用嵌入式安装。因此,为了让Eclipse使用您的全局设置,您需要在菜单中进行设置 设置 → Maven的 → 安装


4
2017-10-12 09:26



实际上这是不正确的。在“设置”>“Maven”>“用户设置”中,您可以设置settings.xml文件的路径,该文件默认指向正确的位置。此外,我尝试使用嵌入式或外部版本的maven,但仍然没有运气。 - TheYann