Java高级编程


Maven 项目管理

Maven

Maven

  • 项目管理工具,对软件项目提供构建与依赖管理。
  • Apache 基金会顶级开源项目。
  • 统一管理方式。

Apache 软件基金会(Apache Software Foundation,ASF),是专门为支持开源软件项目而办的一个非盈利性组织。在它所支持的 Apache 项目与子项目中,所发行的软件产品都遵循Apache许可证(Apache License) 。

Maven 核心特性

  • 项目设置遵循统一的规则,保证不同开发环境的兼容性

  • 依赖管理,项目依赖组件自动下载、自动更新。

  • 可扩展的插件机制,使用简单,功能丰富。

apache maven project – Maven – Welcome to Apache Maven

配置环境变量
image

IDEA导入Maven
image

新建Maven构建工程
image

image

image

目录查看

  • ${basedir}
    • src
      • main
        • java:Java 源代码目录
        • resources:资源目录,保存配置文件,静态图片等
      • test
        • java:测试类源代码目录
        • resources:测试所需要的资源文件目录
    • target
      • classes:字节码编译输出目录
    • pom.xml:项目(Project)对象(Object)模型(Model)文件

Maven 依赖管理

  • Maven利用dependency(依赖)自动下载、管理第三方Jar;
  • 在pom.xml文件中配置项目依赖的第三方组件;
  • maven自动将依赖从中央仓库下载至本地仓库,并在工程中引用。

Maven

image

image

<?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>

image

image

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();
        }
    }
}

image

阿里云镜像

仓库服务
image

<?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>

本地仓库与中央仓库

image

本地仓库位置:C:/Users/xxx/.m2/repository
image

pinyin4j 2.5.0 位置:C:/Users/xxx/.m2/repository/com/belerweb/pinyin4j/2.5.0
image

<?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>

image

修改本地仓库

image

Maven 构建生命周期

命令 用途
validate 验证项目是否正确且所有必须信息是可用的
compile 代码编译
test 测试验证
package 生成产出物jar,war
verify 运行任意的检查来验证项目包有效且达到质量标准
install 安装打包的项目到本地仓库,以供其他项目使用
deploy 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程
image

Maven 插件技术

Maven应用实践

工厂模式

Java 反射

Lambda 表达式

原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/244325.html

(0)
上一篇 2022年4月17日
下一篇 2022年4月17日

相关推荐

发表回复

登录后才能评论