Maven代理设置不起作用

时间:2012-04-05 17:39:25

标签: maven proxy maven-3

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

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

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

[WARNING] The POM for org.apache.maven.wagon:wagon-ssh:jar:2.2 is missing, no dependency information available

详细日志

mvn -X

Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: C:\tools\apache-maven-3.0.4
Java version: 1.6.0_12, vendor: Sun Microsystems Inc.
Java home: C:\tools\Java\jdk1.6.0_12\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"

[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from C:\tools\apache-maven-3.0.4\conf\settings.xml
[DEBUG] Reading user settings from C:\Documents and Settings\desibaba\.m2\settings.xml
[DEBUG] Using local repository at C:\Documents and Settings\desibaba\.m2\repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10 for C:\Documents and Settings\desibaba\.m2\repository
[INFO] Scanning for projects...
[DEBUG] Using connector WagonRepositoryConnector with priority 0 for http://repo.maven.apache.org/maven2 via proxy.my-company.com:8080 as null
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.2/wagon-ssh-2.2.pom
[DEBUG] Writing resolution tracking file C:\Documents and Settings\desibaba\.m2\repository\org\apache\maven\wagon\wagon-ssh\2.2\wagon-ssh-2.2.pom.lastUpdated
[WARNING] The POM for org.apache.maven.wagon:wagon-ssh:jar:2.2 is missing, no dependency information available
[DEBUG] org.apache.maven.wagon:wagon-ssh:jar:2.2:
[DEBUG]    org.codehaus.plexus:plexus-utils:jar:1.1:runtime
[DEBUG] Using connector WagonRepositoryConnector with priority 0 for http://repo.maven.apache.org/maven2 via proxy.my-company.com:8080 as null
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.2/wagon-ssh-2.2.jar
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[DEBUG] Writing resolution tracking file C:\Documents and Settings\desibaba\.m2\repository\org\apache\maven\wagon\wagon-ssh\2.2\wagon-ssh-2.2.jar.lastUpd
ated
[DEBUG] Writing resolution tracking file C:\Documents and Settings\desibaba\.m2\repository\org\codehaus\plexus\plexus-utils\1.1\plexus-utils-1.1.jar.last
Updated
[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[ERROR] The build could not read 1 project -> [Help 1]
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[ERROR] Unresolveable build extension: Plugin org.apache.maven.wagon:wagon-ssh:2.2 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.apache.maven.wagon:wagon-ssh:jar:2.2, org.codehaus.plexus:plexus-utils:jar:1.1: Could not find artifact org.apache.maven.wagon:wagon-ssh:jar:2.2 in central (http://repo.maven.apache.org/maven2) @

        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:363)
        at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:636)
        at org.apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.java:585)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:234)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
[ERROR]
[ERROR]   The project xxx (C:\t1\9630727\pom.xml) has 1 error
[ERROR]     Unresolveable build extension: Plugin org.apache.maven.wagon:wagon-ssh:2.2 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.apache.maven.wagon:wagon-ssh:jar:2.2, org.codehaus.plexus:plexus-utils:jar:1.1: Could not find artifact org.apache.maven.wagon:wagon-ssh:jar:2.2 in central (http://repo.maven.apache.org/maven2) -> [Help 2]
org.apache.maven.plugin.PluginResolutionException: Plugin org.apache.maven.wagon:wagon-ssh:2.2 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.apache.maven.wagon:wagon-ssh:jar:2.2, org.codehaus.plexus:plexus-utils:jar:1.1: Could not find artifactorg.apache.maven.wagon:wagon-ssh:jar:2.2 in central (http://repo.maven.apache.org/maven2)

10 个答案:

答案 0 :(得分:13)

我无法使用MVN 3.0.4执行此操作,但我使用3.0.3

似乎是a bug in the 3.0.4 release

上面的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

这对我有用

答案 1 :(得分:9)

如果不触及POM,可以将此library添加到M2_HOME / lib / ext 并在settings.xml中使用以下代理设置。

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

答案 2 :(得分:7)

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

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

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

Windows 7 System Variable Entry

答案 3 :(得分:4)

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

<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 \ username \ .m2 \ settings.xml

  

C:\ Users \用户名\ .m2目录\ settings.xml中

或直接将其放在您的maven项目POM文件中。

答案 4 :(得分:3)

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

使用mvn help:effective-settings立即查看有效设置

答案 5 :(得分: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

答案 6 :(得分:1)

请原谅我恢复这样一个旧线程,但也许这会帮助有同样错误的人。

我遇到了@ strong 所描述的同样的问题。我结合了这里描述的一些解决方案尝试,它对我有用。

简要问题说明:

我在java中编写了一个小的聊天程序,工作正常。几天后,我有一台新的笔记本电脑在工作,不得不安装和转移一切。我在我的两台笔记本电脑上都使用了Eclipse(版本:Neon.2发行版(4.6.2)),唯一不同的是,我在旧笔记本电脑上使用了一个Maven插件,而在新笔记本电脑上使用了Maven插件。我直接安装了Maven。 / p>

我该怎么做才能解决问题?

首先,我将代理设置写入settings.xml,如Maven在此proxy guide中所述。虽然这对我没有用。

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

下的settings.xml

然后我读了@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\conf中的那个复制到user.home\.m2并再次尝试运行Maven构建,它运行正常。

我希望这对那些在这个问题上挣扎的人有用。

祝你好运

答案 7 :(得分:1)

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

  1. 一个在.m2目录中可用 C:\用户...平方米\库
  2. Maven文件夹的conf目录中有另一个 Apache的行家-X.X.X
  3. 在我的情况下,代理信息是从点号获取的。 1但我试图修改maven目录中的settings.xml

答案 8 :(得分:0)

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

答案 9 :(得分:0)

如果您支持NTLM代理,请参阅对我有用的this解决方案!

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

是的,这个很傻,但值得一试!检查maven路径的系统路径环境变量,它与您要更新的settings.xml完全相同。

希望这有帮助!