目录
Maven项目结构
- src 包含了项目所有的源代码和资源文件以及测试代码
- src/main/java 这个目录下储存 java 源代码
- src/main/resources 储存主要的资源文件
- 比如 spring 的 xml 配置文件和 log4j 的properties 文件
- src/test/java 存放测试代码
- 比如基于 JUNIT 的测试代码一般就放在这个目录下面
- target 编译后内容放置的文件夹
- pom.xml 是 Maven 的基础配置文件,也是 Maven 项目核心配置文件
- 用于配置项项目的基本信息,项目的继承关系,项目类型,依赖管理,依赖注入,插件管理,插件注入等等
Maven项目构建
各文件准备
- 主程序
- 测试程序
- 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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>project-java</artifactId> <version>1.0</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> </project>
编译
- 目前maven仓库中什么也没有
- 在project-java目录下执行编译命令
- mvn compile
- 它会先下载执行mvn compile所需的插件
- 然后发现在project-java目录下多了个目录
- 这里面就是编译完成的东西
- 同时仓库也发生了变化,里面的就是下载下来的东西
- 再编译速度快许多,因为已经下载过了
清理
- 编译出的东西不想要了通过执行
- mvn clean来删掉
- 同样要下载对应插件,后面都是,就不一一说了
测试
- mvn test
- 可以看到运行的数据和结果
- 生成了报告文件,里面有许多详细信息
打包
- mvn package
- 可以看到在打包过程中进行了编译测试后才进行打包
安装到本地仓库
- mvn install
- 会把jar包及目录安装在本地仓库里