Maven 插件不使用 Eclipse 的代理设置
Posted
技术标签:
【中文标题】Maven 插件不使用 Eclipse 的代理设置【英文标题】:Maven plugin not using Eclipse's proxy settings 【发布时间】:2011-12-05 23:12:09 【问题描述】:我正在使用基于 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>
【问题讨论】:
你使用嵌入式maven安装吗? 是的,我没有安装任何特殊的 maven 支持,所以它都是开箱即用的。 M2E 代理使用对我有用。我刚刚检查了我的代理日志以确认它。请发布您的 settings.xml,也许命令行正在以另一种方式选择设置(例如,Linux 可能允许 http_proxy envvar)。 我现在添加了我的 settings.xml 内容。不幸的是,我无法访问代理日志,因为它由我的公司管理,对我来说完全无法访问 :( 但据我所知,这没问题,就像命令行一样,它工作得很好! 【参考方案1】: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
按钮即可完成。我刚刚完成它并且它有效:)
【讨论】:
进行上述更改后,如果您尝试在 Eclipse 中更新项目,仍可能会收到错误消息。您需要强制更新:右键单击您的项目(项目/包资源管理器)-> Maven -> 更新项目-> 选中“强制更新快照/发布”框,然后单击确定。 工作.. 感谢您提供示例 settings.xml 采样和强制更新,同时使用它对我有用!谢谢你们! 选中“强制更新快照/发布”框是绝对必要的。谢谢! 根据文档,异常必须由|
而非,
分隔(参见maven.apache.org/guides/mini/guide-proxies.html)【参考方案2】:
<?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 > 用户设置
【讨论】:
嘿,伙计们,如果您无法修复 ***.com/a/25912472/5478948,请看这里【参考方案3】:默认情况下,Eclipse 不知道您的外部 Maven 安装并使用嵌入式安装。因此,为了让 Eclipse 使用您的全局设置,您需要在菜单 Settings → Maven → Installations 中进行设置。
【讨论】:
其实这是不正确的。在 Settings > Maven > User Settings 中,您可以设置 settings.xml 文件的路径,该文件默认指向正确的位置。我也尝试过使用嵌入式或外部版本的 maven,但仍然没有运气。以上是关于Maven 插件不使用 Eclipse 的代理设置的主要内容,如果未能解决你的问题,请参考以下文章
eclipse maven项目中使用tomcat插件部署项目
eclipse 中创建maven 项目pom.xml配置好了不自动下载jar包是为啥
svn导出一个maven项目到eclipse中后,不显示maven项目标志