本章主要学习Maven在项目中的配置方式,使用方法,力求简单易用够用的原则
其他高级特性本章不涉及
一、Maven标准工程项目结构与说明
Maven通过一定的项目结构,来规范项目源码的代码解组成结构,便于后面maven的对项目代码的管理与编译。
|-- pom.xml(maven的核心配置文件)|-- src|-- main|-- java(java源代码目录)|-- resources(资源文件目录)|-- test|-- java(单元测试代码目录)|-- target(输出目录,所有的输出物都存放在这个目录下)|-- classes(编译后的class文件存放处)
- Eclipse中对项目的结构展示例子如下:

二、Maven项目核心配置pom.xml
1)单个工程项目结构
<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.leanboot</groupId><artifactId>leanbootcom-micro-starter-parent</artifactId><version>1.0</version></parent><artifactId>项目唯一的标识符,实际对应项目的名称</artifactId><groupId>项目组织唯一的标识符,实际对应 JAVA 的包的结构</groupId><name>项目名称</name><packaging>jar</packaging><description>描述</description><properties><java.version>1.8</java.version></properties><!-- 4.引用父类库/同级别的具体模块 --><dependencies><dependency><groupId>com.vroot</groupId><artifactId>vroot-xbase</artifactId><version>1.0</version></dependency></dependencies></project>
==声明节点==
groupId - 团体、组织的标识符
artifactId - 单独项目的唯一标识符(不要包含点号.)
version - 一个项目的特定版本(非必填)
packaging - 项目打包类型 jar或者war(必填)
name - 名称(非必填)
description - 项目描述(非必填)
==properties节点==
变量属性的配置节点,一般为特定一些构建的版本号等
==添加外部依赖jar包节点dependencies==
<dependency><groupId>项目组织唯一标识符</groupId><artifactId>项目唯一标识符</artifactId><version>jar包版本号</version><scope>作用范围:compile、runtime、test、system 和 provided</scope></dependency>
2)父子工程项目结构
Maven可以创建父子工程的项目结构,父工程pom.xml的配置能运用到子工程中,项目代码结构如下:
+- pom.xml+- sub-app1| +- pom.xml| +- src| +- main| +- java+- sub-app2| +- pom.xml| +- src| +- main| +- java
其pom.xml的结构一般如下:
<?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><!-- 1.定义引用父级库 --><parent><groupId>com.vroot</groupId><artifactId>vroot-starter-parent</artifactId><version>1.0</version></parent><!-- 2.定义本module的starter --><groupId>com.leanboot</groupId><artifactId>leanbootcom-micro-starter-parent</artifactId><version>1.0</version><packaging>pom</packaging><!-- 3.本module的列表 --><modules><module>sub-app1</module><module>sub-app2</module></modules></project>
==声明节点==
packaging - 需要配置成pom
==modules模块节点==
对应每一个模块的项目名称
三、利用spring boot maven插件打包为jar包
往项目的pom.xml中,插入
的spring-boot-maven-plugin,就能让项目具有maven打包的能力。
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins><resources><resource><directory>lib</directory><targetPath>target/lib/</targetPath><includes><include>../*.jar</include></includes></resource><resource><directory>src/main/resources</directory><targetPath></targetPath></resource></resources></build>
总结:以上两章,已经对Maven的基本基础概念,安装注意事项,常用节点介绍做了一个描述,对大部分的项目开发已经够了,对于更加高级的Maven使用,请参考别的教程。
接下来将介绍实际在开放工具IDE Eclipse实践使用方法,maven的使用将更加形象呈现在你面前。






