使用maven的Spring Boot示例不会在代理后面编译

时间:2015-02-09 16:29:21

标签: java spring maven proxy spring-boot

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

    <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中的代理配置配置。这是工作中的系统配置:

eugenioab@UmbertII-HP-Z220-CMT-Workstation:~/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 eugenio

4 个答案:

答案 0 :(得分: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中心加载库(如果您只使用发行版本,那么所有工件都应该可以从那里获得)。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

所以使用

解决了这个问题

&#13;
&#13;
mvn package -Dhttps.proxyHost=localhost -Dhttps.proxyPort=3128 -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128
&#13;
&#13;
&#13;

此更改最终强制从存储库下载。我将始终将这些参数用于未来的maven活动! 谢谢大家。

答案 3 :(得分:0)

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

标记需要一个布尔值,而在settings.xml中是:

<active>active</active>

您必须指定true才能使代理配置工作:

<active>true</active>