瑞星 发表于 2024-11-29 19:38:57

maven 中<packaging>pom</packaging>设置使用

在 Maven 项目的 pom.xml 文件中, 元素用于指定项目的打包范例。默认情况下,如果 元素没有被显式界说,Maven 会假设其值为 jar。但是,当您设置 pom 时,这意味着该项目是一个 POM(Project Object Model)项目。
pom 的含义
1、POM 项目:

当一个项目的 设置为 pom 时,表示这是一个 POM 项目。这种范例的项目主要用于聚合其他模块或管理依靠关系。
POM 项目不会生成任何实际的输出文件(如 JAR、WAR 等),而是作为其他子模块的父 POM 或者用于集中管理依靠和插件设置。
2、多模块项目:

在多模块项目中,通常有一个父 POM 项目,它使用 pom 来声明自己是父项目。父 POM 项目可以包含多个子模块,而且可以集中管理这些子模块的共同设置,例如版本号、依靠项、插件等。
子模块可以在它们各自的 pom.xml 中继承父 POM 的设置,从而淘汰重复设置。
3、依靠管理:

POM 项目可以用来集中管理依靠版本和其他设置,这样所有的子模块都可以引用父 POM 中界说的依靠版本,而不需要在每个子模块中单独声明。
示例

父 POM 项目
<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>com.example</groupId>
    <artifactId>parent-project</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>

    <modules>
      <module>child-module1</module>
      <module>child-module2</module>
    </modules>

    <properties>
      <java.version>1.8</java.version>
      <spring.version>5.3.10</spring.version>
    </properties>

    <dependencyManagement>
      <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- 其他依赖项 -->
      </dependencies>
    </dependencyManagement>

    <build>
      <pluginManagement>
            <plugins>
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <version>3.8.1</version>
                  <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                  </configuration>
                </plugin>
                <!-- 其他插件 -->
            </plugins>
      </pluginManagement>
    </build>
</project>
子模块
<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>
    <parent>
      <groupId>com.example</groupId>
      <artifactId>parent-project</artifactId>
      <version>1.0.0</version>
    </parent>
    <artifactId>child-module1</artifactId>

    <dependencies>
      <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
      </dependency>
      <!-- 其他依赖项 -->
    </dependencies>
</project>
在这个例子中,parent-project 是一个 POM 项目,它界说了版本号、依靠管理和插件设置。child-module1 是一个子模块,它继承了父 POM 的设置,而且可以直接使用父 POM 中界说的依靠版本。
通过这种方式,您可以更好地组织和管理大型或多模块项目,淘汰重复设置,并保持项目的划一性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: maven 中<packaging>pom</packaging>设置使用