1.maven定义公共pom工程

本文介绍如何通过配置POM文件及settings.xml实现Maven项目的本地私服部署,包括定义部署路径及服务器信息。

1.构建基本配置工程:

即简单的一个pom文件定义基本的内容,目前本事例只是修改配置deploy相关的配置,配置如下:

<?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>com.wmmad</groupId> <artifactId>all</artifactId> <version>1</version> <packaging>pom</packaging> <distributionManagement> <repository> <id>wmmad.releases</id> <name>releases</name> <url>http://localhost:8081/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>wmmad.snapshots</id> <name>snapshots</name> <url>http://localhost:8081/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> </project>


说明:

定义本地release和snapshots的基本路径,主要是减少每个应用进行代码部署的拷贝。

多个版本主要是为了不同版本的适应


2.配置settings.xml:

增加服务器部署信息:

<server> <id>wmmad.releases</id> <username>deployment</username> <password>12345</password> </server> <server> <id>wmmad.snapshots</id> <username>deployment</username> <password>12345</password> </server>
说明:

定义部署相关的信息,注意:id相同,表明你使用的部署权限。


3.部署:

在pom.xml文件所在的目录执行:

mvn deploy


本事例主要演示如何配置自定义pom文件,为工程搭建提供基础,这也是刚开始使用本地私服,多团队使用maven的基础。






在配置 Maven 父子工程的 `pom.xml` 文件时,需要遵循一定的结构和规范,以确保项目能够正确地构建和管理依赖关系。以下是详细的配置指南: ### 父 POM 的核心职责 父 POM 主要负责管理项目的公共配置,包括依赖管理和插件管理。通过这种方式,可以确保所有子模块使用一致的依赖版本和插件配置。 #### 1.1 依赖管理 (`dependencyManagement`) 父 POM 中的 `<dependencyManagement>` 部分用于定义项目中所有模块可能使用的依赖项及其版本。这样可以确保所有子模块使用相同的依赖版本,避免版本冲突。 ```xml <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.5.4</version> </dependency> </dependencies> </dependencyManagement> ``` #### 1.2 插件管理 (`pluginManagement`) 父 POM 中的 `<pluginManagement>` 部分用于定义项目中所有模块可能使用的插件及其配置。这样可以确保所有子模块使用相同的插件配置。 ```xml <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </pluginManagement> ``` #### 1.3 其他公共配置 除了依赖管理和插件管理,父 POM 还可以包含其他公共配置,如项目信息、开发者信息、组织信息等。 ### 子模块 POM 的核心职责 子模块的 POM 文件主要用于声明具体的依赖项和插件,这些依赖项和插件可以在父 POM定义的管理范围内进行使用。 #### 2.1 依赖声明 (`dependencies`) 子模块的 `<dependencies>` 部分用于声明该模块实际需要的依赖项。这些依赖项可以继承自父 POM定义的 `<dependencyManagement>`。 ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> ``` #### 2.2 插件启用与覆盖 (`plugins`) 子模块的 `<plugins>` 部分用于启用父 POM定义的插件,或者覆盖其配置。 ```xml <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> ``` ### 创建父子项目的步骤 1. **创建父级项目**:创建一个 Maven 项目作为父级项目,其 `pom.xml` 文件将包含所有子模块的公共配置。 ```xml <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-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>child-module</module> </modules> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.5.4</version> </dependency> </dependencies> </dependencyManagement> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </pluginManagement> </project> ``` 2. **创建子级项目**:创建一个或多个子模块项目,每个子模块的 `pom.xml` 文件将继承父级项目的配置,并可以添加或覆盖特定的依赖项和插件配置。 ```xml <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-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <artifactId>child-module</artifactId> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </project> ``` 通过上述配置,可以确保 Maven 父子项目的 `pom.xml` 文件正确地管理依赖项和插件,从而实现项目的高效管理和构建。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值