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 Snaphot存储库问题_Maven_Archiva - Fatal编程技术网

Maven Snaphot存储库问题

Maven Snaphot存储库问题,maven,archiva,Maven,Archiva,我们安装了Archiva,默认设置了两个存储库 这是我的设置。xml: <server> <id>mycompany-release</id> <username>admin</username> <password>******</password> </server> <server> <id>mycompany-snapshots</id&g

我们安装了Archiva,默认设置了两个存储库

这是我的设置。xml

<server>
   <id>mycompany-release</id>
   <username>admin</username>
   <password>******</password>
</server>
<server>
   <id>mycompany-snapshots</id>
   <username>admin</username>
   <password>******</password> 
</server>

<mirror>
   <id>mycompany-release</id>
   <url>http://X.X.X.X:8080/archiva/repository/internal/</url>
   <mirrorOf>external:*</mirrorOf>
</mirror>
<mirror>
   <id>mycompany-snapshots</id>
   <url>http://X.X.X.X:8080/archiva/repository/snapshots/</url>
   <mirrorOf>apache.snapshots</mirrorOf>
</mirror>

<profile>
    <id>repo</id>
    <repositories>
        <repository>
           <id>mycompany-release</id>
           <url>http://X.X.X.X:8080/archiva/repository/internal/</url>
           <releases>
                  <enabled>true</enabled>
           </releases>
           <snapshots>
                  <enabled>false</enabled>
           </snapshots>
    </repository>
    <repository>
           <id>mycompany-snapshots</id>
           <url>http://X.X.X.X:8080/archiva/repository/snapshots/</url>
           <releases>
                  <enabled>false</enabled>
           </releases>
           <snapshots>
                  <enabled>true</enabled>
           </snapshots>
    </repository>
   </repositories>      
</profile>

<activeProfiles>
    <activeProfile>repo</activeProfile>
</activeProfiles>

mycompany发布
管理
******
mycompany快照
管理
****** 
mycompany发布
http://X.X.X.X:8080/archiva/repository/internal/
外部:*
mycompany快照
http://X.X.X.X:8080/archiva/repository/snapshots/
apache.snapshots
回购
mycompany发布
http://X.X.X.X:8080/archiva/repository/internal/
真的
假的
mycompany快照
http://X.X.X.X:8080/archiva/repository/snapshots/
假的
真的
回购
我有一个父项目,用于为所有项目设置公共配置。此父项目的版本为1-SNAPSHOT。因此,在所有其他项目中,父节指向版本为1-SNAPSHOT(不带相对路径元素)的父项目。如果我将父项目部署到archiva存储库,它就在那里。如果我尝试在另一个项目上运行任何命令,如mvn clean,它会工作,因为父项目是在部署期间安装的。但是,如果我从本地存储库手动删除父项目,并尝试运行相同的命令,Maven将返回一个错误,说明:

不可解析的父POM:找不到工件 com.mycompany:Parent:pom:1-mycompany发行版中的快照 (http://X.X.X.X:8080/archiva/repository/internal/)及 “parent.relativePath”指向错误的本地POM

父项目似乎是在发布存储库中查找的,而我希望它是在快照存储库中查找的

谢谢你的帮助

编辑:以下是子POM的一部分:

<parent>
    <groupId>com.mycompany</groupId>
    <artifactId>Parent</artifactId>
    <version>1-SNAPSHOT</version>
</parent>

<groupId>com.mycompany</groupId>
<artifactId>child</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

com.mycompany
父母亲
1-快照
com.mycompany
小孩
1.0-快照
罐子
如果我删除父节并运行mvn help:effective pom,我会得到(仅显示存储库):


真的
假的
mycompany发布
http://X.X.X.X:8080/archiva/repository/internal/
假的
真的
mycompany快照
http://X.X.X.X:8080/archiva/repository/snapshots/
假的
中心的
Maven存储库交换机
http://repo1.maven.org/maven2

注意:如果我将父版本替换为1(而不是1-SNAPSHOT),它会工作。

我发现了问题所在。settings.xml中有问题的行是:

<mirrorOf>external:*</mirrorOf>
外部:*

实际上,它使Maven考虑了<强> MyOffice发布<强>存储库,作为<强> MySoopsStudio知识库的镜像。但是,此存储库不镜像快照。我将这一行替换为:

<mirrorOf>central</mirrorOf>
central
现在,mycompany发行版存储库只镜像Maven中央存储库,而不是mycompany快照存储库,因此它在mycompany快照存储库中查找快照工件


谢谢安德鲁的帮助!我现在没有可能显示完整的日志。

请为子项目提供
pom.xml
。@AndrewLogvinov谢谢,我已经编辑了这篇文章。我想说需要的是剩下的=)你能执行
mvn帮助:有效的pom
和post输出吗(
部分应该足够了)@AndrewLogvinov我无法运行mvn帮助:有效的pom,我得到了关于家长的相同错误。这很奇怪。。通过这种配置,Maven应该只在快照和中央存储库中查找父工件。你能发布mvn-X软件包的输出吗?
<mirrorOf>central</mirrorOf>