ToB企服应用市场:ToB评测及商务社交产业平台
标题:
maven 中<packaging>pom</packaging>设置使用
[打印本页]
作者:
瑞星
时间:
2024-11-29 19:38
标题:
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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4