本章主要学习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的使用将更加形象呈现在你面前。