Maven 2 Maven存储库位置问题

Maven 2 Maven存储库位置问题,maven-2,repository,Maven 2,Repository,我正在重新配置其他人很久以前安装的构建服务器,以使用新的Maven存储库。但是,旧的存储库仍在被引用,我不知道该引用来自何处 M2_HOME=/usr/share/maven2 /etc/maven2/m2.conf(这里有usr/share/maven2/conf/m2.conf链接) /etc/maven2/conf还有一个settings.xml,其中所有条目都被注释掉了 生成用户有一个~/.m2/settings.xml:引用NewRepo <settings> &l

我正在重新配置其他人很久以前安装的构建服务器,以使用新的Maven存储库。但是,旧的存储库仍在被引用,我不知道该引用来自何处

M2_HOME=/usr/share/maven2

/etc/maven2/m2.conf(这里有usr/share/maven2/conf/m2.conf链接)

/etc/maven2/conf还有一个settings.xml,其中所有条目都被注释掉了

生成用户有一个~/.m2/settings.xml:引用NewRepo

<settings>
    <pluginGroups>
    </pluginGroups>
    <servers>
    </servers>
    <profiles>
        <profile>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <id>personal</id>
            <repositories>
                <repository>
                    <id>new-repo</id>
                    <name>New Maven 2 Repo</name>
                    <url>http://NewRepo/</url>
                </repository>
      <!-- Some other standard repos like maven.org here -->
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>ibiblio</id>
                    <name>Ibiblio Maven 2 Repo</name>
                    <url>http://repo1.maven.org/maven2/</url>
                </pluginRepository>
                <pluginRepository>
                  <id>apache-snapshots</id>
                  <name>Apache Snapshots Maven 2 Repo</name>
                  <url>http://people.apache.org./maven-snapshot-repository/</url>
                </pluginRepository>
            </pluginRepositories>
         </profile>
     </profiles>
</settings>
我得到警告:

[信息]注意:Maven正在执行 脱机模式。有没有文物没有 已经在本地存储库中的将 无法接近

跑步时

mvn release:perform
我得到一个错误:

部署项目时出错:未能 传输文件:http://OldRepo

对http://OldRepo的引用会隐藏在哪里

编辑

项目的pom.xml引用父pom,如下所示:

<parent>
    <groupId>MyParent</groupId>
    <artifactId>maven</artifactId>
    <version>20090727</version>
</parent>

我的父母
专家
20090727
没有提及

<distributionManagement>

在项目的POM中。我无法找到父POM。

关于在
设置.xml
中声明的
配置文件中,文档显示:

存储库是项目的远程集合,Maven使用这些项目填充构建系统的本地存储库。Maven称之为插件和依赖项的就是这个本地存储库。不同的远程存储库可能包含不同的项目,在活动概要文件下,可以搜索它们以查找匹配的版本或快照工件

所以这不用于发布管理。要配置工件的部署位置,需要在pom中添加
distributionManagement
元素

下面是如何在project pom.xml文件中配置
distributionManagement
元素的示例

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Application</name>
  <url>http://app.mycompany.com</url>
  ...
  <distributionManagement>
    <repository>
      <id>myRepoId</id>
      <name>myCompanyReporsitory</name>
      <url>ftp://repository.mycompany.com/repository</url>
    </repository>
  </distributionManagement>
  ...
</project>

4.0.0
com.mycompany.app
应用程序
罐子
1.0-快照
应用
http://app.mycompany.com
...
粘虫
支原体感染
ftp://repository.mycompany.com/repository
...
在您的pom或父pom中查找此元素(可以在公司父pom中声明)


编辑:您可以覆盖pom中的
distributionManagement
,但最好在父pom中对其进行修改,并在企业存储库中发布此新版本(如果这是最终更改)

建议可能很愚蠢,但您是否与您的老朋友尝试过
grep
,如果可用?

发布:prepare警告不会影响您的部署。父pom必须位于您的本地repo中(遵循groupId)。项目的pom中没有distributionManagement节点。有一个对父POM的引用(添加到我的问题中),但是没有为父POM指定路径,并且在构建目录中根本没有其他项目。在文件系统中搜索了所有pom.xml以尝试定位父pom,但没有成功。如果已在企业存储库中发布了父pom,则可以使用其
groupId
artifactId
version
,而不使用
relativePath
,来声明父pom。这实际上是“公司”pom应该如何使用的(这里似乎就是这样)。父pom必须已下载到您的本地存储库中。啊,就是这样。父POM在存储库中。我尝试的第一件事是:-)我尝试将所有大小小于5K的常规文件grep为相关文本(在首次尝试POM.xml和*.xml之后)。我现在正在运行grep检查所有文件。那个已经跑了一段时间了。
<distributionManagement>
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Application</name>
  <url>http://app.mycompany.com</url>
  ...
  <distributionManagement>
    <repository>
      <id>myRepoId</id>
      <name>myCompanyReporsitory</name>
      <url>ftp://repository.mycompany.com/repository</url>
    </repository>
  </distributionManagement>
  ...
</project>