Maven 项目管理
Maven
Maven:
- 项目管理工具,对软件项目提供构建与依赖管理。
- Apache 基金会顶级开源项目。
- 统一管理方式。
Apache 软件基金会(Apache Software Foundation,ASF),是专门为支持开源软件项目而办的一个非盈利性组织。在它所支持的 Apache 项目与子项目中,所发行的软件产品都遵循Apache许可证(Apache License) 。
Maven 核心特性
-
项目设置遵循统一的规则,保证不同开发环境的兼容性。
-
依赖管理,项目依赖组件自动下载、自动更新。
-
可扩展的插件机制,使用简单,功能丰富。
apache maven project – Maven – Welcome to Apache Maven
配置环境变量
IDEA导入Maven
新建Maven构建工程
目录查看
- ${basedir}
- src
- main
- java:Java 源代码目录
- resources:资源目录,保存配置文件,静态图片等
- test
- java:测试类源代码目录
- resources:测试所需要的资源文件目录
- main
- target
- classes:字节码编译输出目录
- pom.xml:项目(Project)对象(Object)模型(Model)文件
- src
Maven 依赖管理
- Maven利用dependency(依赖)自动下载、管理第三方Jar;
- 在pom.xml文件中配置项目依赖的第三方组件;
- maven自动将依赖从中央仓库下载至本地仓库,并在工程中引用。
<?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>
<groupId>org.example</groupId>
<artifactId>maven-first</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
</dependencies>
</project>
Pinyin4j
package com.imooc.maven;
import net.sourceforge.pinyin4j.PinyinHelper;
public class PinYin {
public static void main(String[] args) {
String tStr = "你好中国";
for (int i = 0; i < tStr.length(); i++) {
char c = tStr.charAt(i);
String[] arr = PinyinHelper.toHanyuPinyinStringArray(c);
for (String py : arr) {
System.out.print(py);
}
System.out.println();
}
}
}
阿里云镜像
<?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>
<groupId>org.example</groupId>
<artifactId>maven-first</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
</dependencies>
</project>
本地仓库与中央仓库
本地仓库位置:C:/Users/xxx/.m2/repository
pinyin4j 2.5.0 位置:C:/Users/xxx/.m2/repository/com/belerweb/pinyin4j/2.5.0
<?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>
<groupId>org.example</groupId>
<artifactId>maven-first</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>
</dependencies>
</project>
修改本地仓库
Maven 构建生命周期
命令 | 用途 |
---|---|
validate | 验证项目是否正确且所有必须信息是可用的 |
compile | 代码编译 |
test | 测试验证 |
package | 生成产出物jar,war |
verify | 运行任意的检查来验证项目包有效且达到质量标准 |
install | 安装打包的项目到本地仓库,以供其他项目使用 |
deploy | 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程 |
Maven 插件技术
Maven应用实践
工厂模式
Java 反射
Lambda 表达式
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/244325.html