Maven 下载Pom.xml并引用父Pom
我有一个Pom.xml,我想知道是否有办法让Pom从某处下载父Pom,然后引用父Pom 编辑:我对家长pom有意见,这是我的家长pomMaven 下载Pom.xml并引用父Pom,maven,Maven,我有一个Pom.xml,我想知道是否有办法让Pom从某处下载父Pom,然后引用父Pom 编辑:我对家长pom有意见,这是我的家长pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>dev</groupId>
<artifactId>company-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<distributionManagement>
<repository>
<id>Artifactory</id>
<name>Artifactory-releases</name>
<url>http://artifactory:8081/artifactory/dev</url>
</repository>
<snapshotRepository>
<id>Artifactory</id>
<name>Artifactory-snapshots</name>
<url>http://artifactory:8081/artifactory/dev</url>
</snapshotRepository>
</distributionManagement>
</project>
如何让我的Pom在我的artifactory实例中找到工件?您的父级
Pom
应该是Pom
的packaging
类型Pom
。e、 g:
<?xml version="1.0" encoding="UTF-8"?>
< project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>parent</artifactId>
<groupId>org.example</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>child</artifactId>
<repositories>
<repository>
<id>Artifactory-Releases</id>
<url>http://artifactory:8081/artifactory/dev</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>Artifactory-Snapshots</id>
<url>http://artifactory:8081/artifactory/dev</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
</project>
你的意思有点不清楚。父POM会自动下载并安装在本地存储库中。好吧,让我试着更好地解释一下,我想让父POM托管在某个地方,比如Artifactory上。然后,我希望我的计算机上的Pom.xml运行一个命令来下载父Pom并引用它。这有用吗?可能是@EngineerDollery的副本,谢谢。当我创建一个测试项目时,它来自IDE:)即使父pom托管在其他地方,它也可以工作吗?我不需要有一个链接或其他东西来链接父pom的位置吗?目前,我的Pom使用相对路径引用父级。如果将Pom部署到任何maven存储库中,它将起作用。此存储库将在pom中配置。@Macauley您的pom需要匹配父pom的坐标(
groupId
、artifactId
和版本
)。您的父POM具有dev:company-parent:1.0.0-SNAPSHOT
,但子POM正在引用dev:company-parent:1.0.0
;您的子POM缺少-SNAPSHOT
部分。我编辑了它以匹配,但仍然得到相同的错误,要让我的POM从我的artifactory获取父POM,我是否应该编辑代码顶部指向artifactory的链接?
<?xml version="1.0" encoding="UTF-8"?>
< project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>parent</artifactId>
<groupId>org.example</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>child</artifactId>
<repositories>
<repository>
<id>Artifactory-Releases</id>
<url>http://artifactory:8081/artifactory/dev</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>Artifactory-Snapshots</id>
<url>http://artifactory:8081/artifactory/dev</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
</project>