首页 > 解决方案 > 在 Maven 中使用包装类型 pom 时真正需要或推荐哪些标签?

问题描述

一旦您将包装设置为 pom,您是否需要 groupID、artifactId 和 version 标签,如果需要,它们的用途是什么?是否有您应该使用的标签(毕竟 groupID 显然是为 java 设计的,所以如果应该使用其他语言或工件类型的特定标签,我不会感到惊讶)。样品:

简单的父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://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.company</groupId>
    <artifactId>project_name</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <modules>
        <module>hosts</module>
    </modules>

</project>

简单的子 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://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.company</groupId>
    <artifactId>hosts</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    
</project>

然后子子是多种类型的各种项目,java,C++,angular,python,更多 pom。

标签: mavenmulti-modulemaven-package

解决方案


你需要所有这些标签。

POM 与 JAR、WAR 等一起使用它们各自的 Maven 坐标(GroupId、ArtifactId、Version)进行部署。如果有人使用例如与您父母的依赖关系,它们就会得到解决。


推荐阅读