2015-02-09 53 views
0

我正在学习spring并开始运行两个示例:第一个示例是http://spring.io/guides/gs/maven/的Java示例,第二个示例是面向https://spring.io/guides/gs/serving-mobile-web-content/的Web。我在家里和办公室工作。在家里,我直接连接到互联网,在办公室我有一个NTLM代理,CNTLM安装。 前的两个实例运行得很好在家庭和工作中,已经定义了这个settings.xml的部分:使用maven的Springboot示例不能在代理后编译

<proxies> 
 
    <!-- proxy 
 
    | Specification for one proxy, to be used in connecting to the network. 
 
    | 
 
    --> 
 
    <proxy> 
 
     <id>NTLM</id> 
 
     <active>active</active> 
 
     <protocol>http</protocol> 
 
     <host>localhost</host> 
 
     <port>3128</port> 
 
    </proxy> 
 
    </proxies>

第二个只在家里工作得很好,有还从github下载了代码(以防止“重大”错误)。 我在编译时这个错误:

Downloading: https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/1.1.10.RELEASE/spring-boot-starter-parent-1.1.10.RELEASE.pom 
 
[ERROR] The build could not read 1 project -> [Help 1] 
 
[ERROR] 
 
[ERROR] The project org.springframework:gs-serving-web-content:0.1.0 (/home/eugenioab/prj/gs-serving-web-content-master/initial/pom.xml) has 1 error 
 
[ERROR]  Non-resolvable parent POM: Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:1.1.10.RELEASE from/to spring-milestone (https://repo.spring.io/libs-release): repo.spring.io: Nome o servizio sconosciuto and 'parent.relativePath' points at wrong local POM @ line 10, column 13: Unknown host repo.spring.io: Nome o servizio sconosciuto -> [Help 2]

好像在settings.xml代理配置配置不适用。这是在工作中的系统配置:

[email protected]:~/prj$ mvn -version 
 
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T18:29:23+01:00) 
 
Maven home: /usr/share/apache-maven-3.2.5 
 
Java version: 1.7.0_75, vendor: Oracle Corporation 
 
Java home: /usr/lib/jvm/java-7-openjdk-i386/jre 
 
Default locale: it_IT, platform encoding: UTF-8 
 
OS name: "linux", version: "3.16.0-24-generic", arch: "i386", family: "unix"

TYA欧亨尼奥

回答

0

您可以以设置在settings.xml文件代理阅读本guide。我可以看到NTLM不受支持。

请注意,目前NTLM代理不支持,因为它们尚未经过测试。您可以使用JDK 1.4+上的相关系统属性来完成此项工作。

+0

谢谢你,我已经阅读指南。配置的代理是** cntlm **并隐藏了ntlm的东西。系统会看到一个简单的http代理。正如我写的,这个代理配置正在为第一个例子工作,但不适用于第二个例子。它试图下载“开机”的东西时停止 – 2015-02-09 18:08:20

1

我想这个问题是本节:

<repositories> 
 
    <repository> 
 
    <id>spring-releases</id> 
 
    <name>Spring Releases</name> 
 
    <url>https://repo.spring.io/libs-release</url> 
 
    </repository> 
 
</repositories> 
 

 
<pluginRepositories> 
 
    <pluginRepository> 
 
    <id>spring-releases</id> 
 
    <name>Spring Releases</name> 
 
    <url>https://repo.spring.io/libs-release</url> 
 
    </pluginRepository> 
 
</pluginRepositories>

也许仓库被阻挡在你的公司或别的东西。尝试删除这些部分,以便从Maven中心加载库(如果您只使用发布版本,则应从此处提供所有工件)。

+0

非常感谢。也试过这个,但没有奏效。我成功地用gradle建造;使用maven构建通常的错误。运行时,mvn绕过我的本地代理。事实上,tcpdump在localhost:3128上看不到任何流向和来自我的代理的流量(这对其他基于maven的项目起作用) – 2015-02-10 12:51:26

0

所以这个问题是使用

mvn package -Dhttps.proxyHost=localhost -Dhttps.proxyPort=3128 -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128

这种变化最终被迫从资源库中下载得到解决。我将永远使用这些参数进行未来的Maven活动! 谢谢大家。

0

问题是您的settings.xml中的代理配置。

标签需要一个布尔值,并在您的设置中。XML是:

<active>active</active> 

您必须指定真正让代理配置工作:

<active>true</active>