Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何阻止maven尝试访问http://repo.maven.apache.org?_Maven_Repository_Maven 3 - Fatal编程技术网

如何阻止maven尝试访问http://repo.maven.apache.org?

如何阻止maven尝试访问http://repo.maven.apache.org?,maven,repository,maven-3,Maven,Repository,Maven 3,开发机器无法访问internet,需要大约60秒才能超时。当我尝试构建时,我看到 Downloading: http://repo.maven.apache.org/maven2/com/google/gsa-connector/2.8.0/gsa-connector-2.8.0.pom 但是,我的POM中有以下内容: <repository> <id>bb-nexus</id> <url>http://repo.

开发机器无法访问internet,需要大约60秒才能超时。当我尝试构建时,我看到

Downloading: http://repo.maven.apache.org/maven2/com/google/gsa-connector/2.8.0/gsa-connector-2.8.0.pom
但是,我的POM中有以下内容:

    <repository>
      <id>bb-nexus</id>
      <url>http://repo.dev.bloomberg.com/content/groups/public</url>
      <releases><enabled>true</enabled></releases>
      <snapshots><enabled>true</enabled></snapshots>
    </repository>
    <repository>
      <id>nexus-3rdparty</id>
      <url>http://repo.dev.bloomberg.com/content/repositories/thirdparty/</url>
      <releases><enabled>true</enabled></releases>
      <snapshots><enabled>true</enabled></snapshots>
    </repository>

bb连接
http://repo.dev.bloomberg.com/content/groups/public
真的
真的
nexus-3第三方
http://repo.dev.bloomberg.com/content/repositories/thirdparty/
真的
真的
它总是试图先去repo.maven。我甚至尝试添加到D:\.m2\settings.xml

<settings>
  <mirrors>
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://repo.dev.bloomberg.com/content/groups/public</url>
    </mirror>
  </mirrors>

关系
*
http://repo.dev.bloomberg.com/content/groups/public
基于这一点,它仍将首先尝试repo.maven。我正在使用ApacheMaven 3.0.4(r1232337;2012-01-17 03:44:56-0500)

我不能使用-o,因为它仍然需要访问本地repo.dev


以下是“有效设置”的示例:

D:\Users\chloe\Projects\team\confluence-plugin>mvn help:effective-settings
[INFO] Scanning for projects...
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml
[WARNING] Could not transfer metadata org.apache.maven.plugins:maven-install-plugin/maven-metadata.xml from/to central (
http://repo.maven.apache.org/maven2): Connection to http://repo.maven.apache.org refused
...
[INFO]
[INFO] --- maven-help-plugin:2.1.1:effective-settings (default-cli) @ bb-confluence-plugin ---
[INFO]
Effective user-specific configuration settings:

<?xml version="1.0" encoding="UTF-8"?>
...
<settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca
tion="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
  <localRepository xmlns="http://maven.apache.org/SETTINGS/1.1.0">d:\.m2\repository</localRepository>
  <pluginGroups xmlns="http://maven.apache.org/SETTINGS/1.1.0">
    <pluginGroup>org.apache.maven.plugins</pluginGroup>
    <pluginGroup>org.codehaus.mojo</pluginGroup>
  </pluginGroups>
</settings>

[INFO] ------------------------------------------------------------------------
D:\Users\chloe\Projects\team\confluence plugin>mvn帮助:有效设置
[信息]正在扫描项目。。。
下载:http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml
[警告]无法将元数据org.apache.maven.plugins:maven install plugin/maven-metadata.xml从/传输到central(
http://repo.maven.apache.org/maven2):连接到http://repo.maven.apache.org 拒绝
...
[信息]
[信息]---maven帮助插件:2.1.1:有效设置(默认cli)@bb confluence插件---
[信息]
有效的用户特定配置设置:
...
d:\.m2\存储库
org.apache.maven.plugins
org.codehaus.mojo
[信息]------------------------------------------------------------------------

所有pom文件都继承自maven super pom 其中包含以下条目:

<repositories>
    <repository>
        <id>central</id>
        <name>Central Repository</name>
        <url>http://repo.maven.apache.org/maven2</url>
        <layout>default</layout>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

中心的
中央知识库
http://repo.maven.apache.org/maven2
违约
假的
尝试在pom中设置此选项(使用
central
):


中心的
http://repo.dev.bloomberg.com/content/groups/public
假的
中心的
http://repo.dev.bloomberg.com/content/groups/public
假的
覆盖中央存储库 工作原理: 大多数组织都需要设置一个或多个共享存储库,因为不是每个人都可以部署或从Maven中央存储库下载。要发布版本以在其网络中的不同环境中使用,组织通常需要设置所谓的内部存储库

在项目中使用此存储库时,有两种选择:将其用作镜像,或使其覆盖中心存储库。如果它打算专门作为中央存储库的副本,并且允许开发人员在其设置中配置它,则可以将其用作镜像。或者,在这种情况下,您希望阻止对中央存储库的访问以获得更好的控制,从项目级别而不是在每个用户的设置中配置存储库,或者在同一存储库中包含您自己的工件,您应该覆盖中央存储库

此外,在这一点上,记住maven dependencies执行的解析过程非常重要,它有两个存储库的主要块设置:

  • 与礼仪相关的事项将在我们内部列出
  • 与将在节点中添加或在生命周期中使用的插件相关
  • 解决方案: 作为一个面向对象的框架,Maven让所有POM都有一个隐式父对象超级POM。在其定义下,列出了依赖项和插件第一解析器存储库配置:

    <repositories>
        <repository>
          <id>central</id>
          <name>Maven Repository Switchboard</name>
          <layout>default</layout>
          <url>http://repo1.maven.org/maven2</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
    
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <name>Maven Plugin Repository</name>
          <url>http://repo1.maven.org/maven2</url>
          <layout>default</layout>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <releases>
            <updatePolicy>never</updatePolicy>
          </releases>
        </pluginRepository>
      </pluginRepositories> 
    
    
    中心的
    Maven存储库交换机
    违约
    http://repo1.maven.org/maven2
    假的
    中心的
    Maven插件库
    http://repo1.maven.org/maven2
    违约
    假的
    从未
    
    要使用内部存储库覆盖中心存储库,必须在设置文件和/或POM中定义使用标识符central(
    central
    )的存储库。通常,必须将其定义为常规存储库和插件存储库,以确保所有访问都是一致的。例如:

    <repositories>
        <repository>
          <id>central</id>
          <name>Maven Repository Switchboard</name>
          <layout>default</layout>
          <url>http://repo.dev.bloomberg.com/content/groups/public</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
    
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <name>Maven Plugin Repository</name>
          <url>http://repo.dev.bloomberg.com/content/groups/public</url>
          <layout>default</layout>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <updatePolicy>never</updatePolicy>
          </releases>
        </pluginRepository>
      </pluginRepositories> 
    
    
    中心的
    Maven存储库交换机
    违约
    http://repo.dev.bloomberg.com/content/groups/public
    假的
    中心的
    Maven插件库
    http://repo.dev.bloomberg.com/content/groups/public
    违约
    真的
    从未
    

    相关链接:

    尝试在报告/插件块中设置以下内容

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.9</version>
            <configuration>
                <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
            </configuration>
        </plugin>
    
    
    org.apache.maven.plugins
    maven项目信息报告插件
    2.9
    假的
    
    ?@leoluk我们不使用快照,我们甚至没有将repo.maven.org列为存储库,因此我们无法关闭该选项。我不介意它检查我们的内部回购快照。
    mvn帮助:有效设置
    确认正在应用镜像设置吗?@BrettPorter Ok我使用有效设置的输出进行了更新。我更新了settings.xml并运行了mvn。不,似乎不需要。可能是settings.xml文件的目录错误?此外,您可能需要将nexus添加到settings.xml
    nexus
    中无法工作的服务器列表中。它出现以下错误:
    [error]'存储库。存储库[central].url'丢失。@com.bloomberg:bb confluence:1.0,D:\Users\chloe\Projects\team\pom.xml,第174行第15列[错误]无效工件存储库:存储库中心缺少URL->[Help 2]
    。我已将URL添加到我的回购协议中,但它仍然出现以下错误:
    [WARNING]无法传输met
    
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.9</version>
            <configuration>
                <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
            </configuration>
        </plugin>