14

我在 conf/settings.xml 中设置了 Maven 代理设置

<proxy>
  <active>true</active>
  <protocol>http</protocol>
  <host>proxy.my-company.com</host>
  <port>8080</port>
</proxy>

但是当我运行 maven build 时,出现以下错误。有人可以帮忙吗

[警告] org.apache.maven.wagon:wagon-ssh:jar:2.2 的 POM 丢失,没有可用的依赖信息

详细日志

mvn -X

Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven 主页:C:\tools\apache-maven-3.0.4
Java 版本:1.6.0_12,供应商:Sun Microsystems Inc.
Java 主页:C:\tools\Java\jdk1.6.0_12\jre
默认语言环境:en_US,平台编码:Cp1252
操作系统名称:“windows xp”,版本:“5.1”,arch:“x86”,系列:“windows”

[INFO] 错误堆栈跟踪已打开。
[调试] 从 C:\tools\apache-maven-3.0.4\conf\settings.xml 读取全局设置
[调试] 从 C:\Documents and Settings\desibaba\.m2\settings.xml 读取用户设置
[调试] 在 C:\Documents and Settings\desibaba\.m2\repository 使用本地存储库
[调试] 在 C:\Documents and Settings\desibaba\.m2\repository 中使用优先级为 10 的管理器 EnhancedLocalRepositoryManager
[INFO] 正在扫描项目...
[调试] 通过 proxy.my-company.com:8080 将 http://repo.maven.apache.org/maven2 的优先级为 0 的连接器 WagonRepositoryConnector 用作 null
下载:http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.2/wagon-ssh-2.2.pom
[DEBUG] 写入分辨率跟踪文件 C:\Documents and Settings\desibaba\.m2\repository\org\apache\maven\wagon\wagon-ssh\2.2\wagon-ssh-2.2.pom.lastUpdated
[警告] org.apache.maven.wagon:wagon-ssh:jar:2.2 的 POM 丢失,没有可用的依赖信息
[调试] org.apache.maven.wagon:wagon-ssh:jar:2.2:
[调试] org.codehaus.plexus:plexus-utils:jar:1.1:runtime
[调试] 通过 proxy.my-company.com:8080 将 http://repo.maven.apache.org/maven2 的优先级为 0 的连接器 WagonRepositoryConnector 用作 null
下载:http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.2/wagon-ssh-2.2.jar
下载:http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[DEBUG] 写入分辨率跟踪文件 C:\Documents and Settings\desibaba\.m2\repository\org\apache\maven\wagon\wagon-ssh\2.2\wagon-ssh-2.2.jar.lastUpd
吃过的
[DEBUG] 写入分辨率跟踪文件 C:\Documents and Settings\desibaba\.m2\repository\org\codehaus\plexus\plexus-utils\1.1\plexus-utils-1.1.jar.last
更新
[DEBUG] 从 ClassRealm [plexus.core, parent: null] 中查找打包 pom 的生命周期映射
[错误] 构建无法读取 1 个项目 -> [帮助 1]
org.apache.maven.project.ProjectBuildingException:处理 POM 时遇到了一些问题:
[错误] 无法解析的构建扩展:无法解析插件 org.apache.maven.wagon:wagon-ssh:2.2 或其依赖项之一:无法解析以下工件:org.apache.maven.wagon:wagon-ssh :jar:2.2, org.codehaus.plexus:plexus-utils:jar:1.1: 在中央找不到工件 org.apache.maven.wagon:wagon-ssh:jar:2.2 (http://repo.maven.apache .org/maven2) @

        在 org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:363)
        在 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:636)
        在 org.apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.java:585)
        在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:234)
        在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        在 org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        在 org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        在 org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        在 java.lang.reflect.Method.invoke(Method.java:597)
        在 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
[错误]
[错误] 项目 xxx (C:\t1\9630727\pom.xml) 有 1 个错误
[错误] 无法解析的构建扩展:无法解析插件 org.apache.maven.wagon:wagon-ssh:2.2 或其依赖项之一:无法解析以下工件:org.apache.maven.wagon:wagon-ssh :jar:2.2, org.codehaus.plexus:plexus-utils:jar:1.1: 在中央找不到工件 org.apache.maven.wagon:wagon-ssh:jar:2.2 (http://repo.maven.apache .org/maven2) -> [帮助 2]
org.apache.maven.plugin.PluginResolutionException:无法解析插件 org.apache.maven.wagon:wagon-ssh:2.2 或其依赖项之一:无法解析以下工件:org.apache.maven.wagon: wagon-ssh:jar:2.2, org.codehaus.plexus:plexus-utils:jar:1.1: 在中央找不到 artifactorg.apache.maven.wagon:wagon-ssh:jar:2.2 (http://repo.maven .apache.org/maven2)
4

10 回答 10

15

我不能用 MVN 3.0.4 做到这一点,但我用 3.0.3 做

这似乎是3.0.4 版本中的一个错误

上面的 jira 条目给出了 maven 3.0.4 错误的解决方法:添加

<build>
    <extensions>
        <extension>
            <!-- this extension is required by wagon in order to pass the proxy -->
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-http-lightweight</artifactId>
            <version>2.2</version>
        </extension>
    </extensions>
</build>

给你的pom.xml

这对我有用

于 2012-05-16T19:04:51.317 回答
10

无需接触您的 POM,您可以将此添加到 M2_HOME/lib/ext 并在您的 settings.xml 中使用以下代理设置。

<proxy>
...
  <username>DOMAIN\USERNAME</username>
  <password>PASSWORD</password>
...

于 2013-07-10T07:43:20.090 回答
9

我尝试将代理设置引入几个不同位置的 settings.xml 文件,但似乎在运行时没有一个被拾取。

但是,我发现有一个环境变量MAVEN_OPTS,我终于能够设置代理信息并在运行时反映它:

MAVEN_OPTS
-Dhttp.proxyHost=proxy.myproxy.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=proxy.myproxy.com -Dhttps.proxyPort=80

Windows 7 系统变量条目

于 2017-09-15T17:32:42.390 回答
8

您的设置文件应如下所示:

<settings>
    <proxies>
        <proxy>
            <active>true</active>
            <protocol>http</protocol>
            <username><username-optional></username>
            <password><password-optional></password>
            <host><hostname></host>
            <port><port></port>
        </proxy>
    </proxies>
</settings>

如果这不起作用,请尝试将您的代理设置放入 IE 等浏览器中,看看它是否有效。还可以尝试直接点击代理以确保它不是代理配置脚本。我不知道 maven 是否与这些配合得很好。

虽然如果它是一个配置脚本,该脚本应该列出在您的情况下使用的正确代理。

编辑

我看到您正在以 conf/settings.xml 的形式工作,它在哪里?通常 settings.xml 文件位于:

/path/to/user/home/.m2/settings.xml

在 Windows 中为您服务

C:\Documents and Settings\用户名\.m2\settings.xml

或者

C:\用户\用户名\.m2\settings.xml

或者直接把它放在你的 maven 项目 POM 文件中。

于 2012-04-05T17:48:51.593 回答
3

使用 mvn -X 查看 settings.xml 的读取顺序

现在使用 mvn help:effective-settings 查看有效设置

于 2014-05-11T03:19:00.643 回答
2

我有类似的问题。添加后 nonProxyHosts

标签问题已解决。请注意,"zzz.zz.com"必须用适当的服务器替换。

<proxy>
...
...
 <nonProxyHosts>localhost|127.0.0.1|zzz.zz.com</nonProxyHosts>
...
...
</proxy>

详情http://maven.apache.org/guides/mini/guide-proxies.html

于 2014-09-16T07:25:30.580 回答
1

对不起,我恢复了这样一个旧线程,但也许这会帮助有同样错误的人。

我遇到了与@OP 描述的相同的问题。我结合了此处描述的一些解决方案尝试,它对我有用。

简要问题描述:

我用java写了一个小聊天程序,效果很好。几天后,我在工作中得到了一台新笔记本电脑,不得不安装和转移所有东西。我在两台笔记本电脑上都使用了 Eclipse(版本:Neon.2 Release (4.6.2)),唯一的区别是,我在旧笔记本电脑上使用了 Eclipse 的 Maven 插件,而在新笔记本电脑上我直接安装了 Maven。

我做了什么来解决这个问题?

首先,我将代理设置写入Mavensettings.xml中,如本代理指南中所述。但它对我不起作用。

注意:我更改了 settings.xml 下C:\Program Files\apache-maven-3.3.9\conf

然后我阅读了@Vijay Krish 的评论

"Note: We have to add above elements in settings.xml available under 'user.home\.m2' folder. If file doesn't exists already in the mentioned path, create it."

没有settings.xml,所以我只是复制了一个C:\Program Files\apache-maven-3.3.9\confuser.home\.m2然后再次尝试运行一个Maven构建,它工作正常。

我希望这对任何在这个问题上苦苦挣扎的人都有用。

此致

于 2017-03-14T14:11:36.717 回答
1

Maven 有两个 settings.xml,具体取决于您在 IDE 中引用的 settings.xml。确保代理信息在您引用的那个中可用。

  1. 一个位于 .m2 目录
    C:\Users...m2\repository
  2. 另一个在 Maven 文件夹的 conf 目录中可用。
    apache-maven-XXX

在我的情况下,代理信息是从点号获取的。1 但我试图修改 maven 目录中的 settings.xml

于 2018-01-09T16:42:59.507 回答
0

我不确定这是否是您的问题,但我注意到我必须确保 https 代理位于 http 代理之前才能使用 https 代理。可能是因为它们在我的配置中是相同的主机名。

于 2015-03-03T18:10:19.007 回答
0

如果您使用 NTLM 代理,请参考这个对我有用的解决方案!

如果您使用的是 IntelliJ 等 IDE,请确保您正在更改 IDE 使用的同一 maven 的 settings.xml!我的意思是可能捆绑了 Maven,如果您更改系统 maven settings.xml,很明显它不会工作!所以请检查 IDE 配置。如果您需要更多帮助,请指定 IDE 名称。

是的,这很愚蠢,但值得一试!检查您的系统路径环境变量是否与您正在更新的 settings.xml 完全相同的 Maven 路径。

希望这可以帮助!

于 2016-01-25T07:45:53.587 回答