首页 文章

Maven代理设置不起作用

提问于
浏览
8

我在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

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

    好像是a bug in the 3.0.4 release .

    上面的jira条目为maven 3.0.4 bug提供了一个解决方法:add

    <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

    这对我有用

  • 4

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

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

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

    <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是否与这些人合作得很好 .

    虽然它是配置脚本,但脚本应列出在您的情况下使用的正确代理 .

    EDIT

    我看到你正在使用表单conf / settings.xml,它位于哪里?通常,settings.xml文件位于:

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

    对于你来说,在Windows中

    C:\ Documents and Settings \ username \ .m2 \ settings.xml

    要么

    C:\ users \ username \ .m2 \ settings.xml

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

  • 0

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

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

  • 3

    我尝试将代理设置引入几个不同位置的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

    我有类似的问题 . 添加 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

  • 12

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

    我遇到了 same problem as described by @OP . 我结合了这里描述的一些解决方案尝试,它对我有用 .

    Brief problem description:

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

    What did I do to solve the problem?

    首先,我将代理设置写入 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构建,它运行正常 .

    我希望这对那些正在努力解决这个问题的人有用 .

    最好的祝福

  • 1

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

    • 一个在.m2目录中可用
      C:\用户...平方米\库

    • Maven文件夹的conf目录中有另一个 .
      Apache的行家,X.X.X

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

  • 1

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

  • 9

    如果您支持NTLM代理,请参考适用于我的this解决方案!

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

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

    希望这可以帮助!

相关问题