Maven入门

1、安装

2、配置

3、约定目录结构

项目文件夹
src/
    /main  # 主程序目录
    	/java  # 源代码
    	/resource  # 资源和配置文件
    /test  # 测试程序目录
    	/java  # 源代码
    	/resource  # 资源和配置文件
pom.xml  # maven核心配置文件

4、标签

1、项目标签

  • project标签是根标签,后面是约束文件,限制属性和标签规则
  • pom(project object module)模型版本

1、<project></project>

2、<modelVersion></modelVersion>

2、坐标标签(gav)

  • 确定资源,是资源的唯一标识
  • 在maven中,每个资源坐标是唯一的

1、<groupid></groupid>

  • 组织名称:com.miao,一般是公司域名倒写

2、<artifiactid></artifiactid>

  • 项目名称:如果groupid有项目,则是那个项目的子项目名称

3、<version></version>

  • 项目版本号:一般是三位组成,格式为:主版本号.次版本号.小版本号-SNAPSHOT(接上这个,则说明该项目是不稳定版本)

3、*全局变量标签

1、<properties></properties>

  1. ```xml
    <properties>
        <maven.compiler.source>17</maven.compiler.source>  # 源码编译jdk版本
        <maven.compiler.target>17</maven.compiler.target>  # 运行代码的jdk版本
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  # 项目构建时使用的编码,避免乱码
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  # 生成报告的编码(mvn test)
        <spring.version></spring.version>  # 规定jar包的版本号,配合<version></version>标签使用
        <Junit.version></Junit.version>  # 规定jar包的版本号,配合<version></version>标签使用
    </properties>
    ```
    
  2. 使用变量

    <version>${spring.version}</version>
    <version>${Junit.version}</version>
    

4、依赖坐标标签

1、<dependencies></dependencies>

1、<dependency></dependency>配合gav使用
1、<scope></scope>
  1. compile(默认) 编译-测试-运行 logback
  2. test 测试 Junit
  3. provided 编译-测试 server-api,即部署到服务器时,不再提供此jar包,一般是因为服务器自带这个jar包防止冲突
  4. runtime 测试-运行 jdbc驱动
  5. system 编译-测试 本地jar包
  6. import 待更新

5、打包标签

1、<packaging></packaging>

  • 默认是jar,可以是war、jar、pom、ear等

6、构建标签

  • 编译器的版本或者其他插件

1、<build></build>

2、<plugins></plugins>

<build>
    <plugins>
        <plugin>
            <groupid>org.apache.maven.plugins</groupid>
            <artifactid>maven-compiler-plugin</artifactid>
            <version>3.8.1</version>
            <configuration>
                <!-- 默认是1.7 -->
                <source>1.8</source>  # 编译代码的jdk版本
                <target>1.8</target>  # 运行编译过的代码的jdk版本
            </configuration>
        </plugin>
    </plugins>
</build>

7、继承标签

1、<parent></parent>

8、聚合标签

1、<modules></modules>

5、仓库

  1. 本地仓库,默认路径是 用户/用户名/.m2/repository
    • 修改maven配置文件即可改变<localrepository>路径</localrepository>
  2. 中央仓库,maven社区提供依赖坐标信息[Maven Repository](Maven Repository: Search/Browse/Explore (mvnrepository.com))
  3. 远程仓库

6、生命周期和命令

  • 需要插件的加持才能完成以下任务
  • 需要在pom.xml同目录下运行命令
  • 命令可以组合使用
  1. mvn clean(maven-clean-plugin)清理,删除原来编译和测试的目录,即target目录。但是已经install安装的是无法清理的
  2. mvn compile(maven-compiler-plugin和maven-resources-plugin)编译,编译文件,放到target/classes/
  3. mvn test-compile(maven-compiler-plugin和maven-resources-plugin)编译测试,编译测试文件,放到target/test-classes/
  4. mvn test(maven-surefire-plugin)测试报告,测试代码是否无误,并打出测试报告,放到target/surefire-reports/
  5. mvn package(maven-jar-plugin)打包,生成jar包或者war包等,由打包标签决定,打包名字:artifactid-version.packaging,放到target/
  6. mvn install安装,一般以jar包的形式安装到本地仓库
  7. mvn deploy部署,自动部署到web容器中
  8. *mvn clean package清理后再打包

7、资源处理原则

  • 拷贝至target/classes/中
  1. 处理src/main/resource/

  2. 只处理src/main/java/的.java文件

  3. 资源插件可以解决问题2

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>  # 过滤器要处理的目录
                <includes>
                    <include>**/*.properties</include>  # 处理该目录下任意子目录的.properties文件
                    <include>**/*.xml</include>  # 处理该目录下任意子目录的.xml文件
                </includes>
                <filtering>false</filtering>  # false不启用过滤器
            </resource>
    	</resources>
    </build>
    

8、*标准配置文件

<?xml version="1.0" encoding="UTF-8"?>

<!-- project标签是根标签,后面是约束文件,限制属性和标签规则 -->
<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">

    <!-- pom(project object module)模型版本 -->
    <modelVersion>4.0.0</modelVersion>

    <!-- 以下为坐标 -->
    <groupId>org.example</groupId>
    <artifactId>Hello</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>

1、安装

2、配置

3、约定目录结构

项目文件夹
src/
    /main  # 主程序目录
    	/java  # 源代码
    	/resource  # 资源和配置文件
    /test  # 测试程序目录
    	/java  # 源代码
    	/resource  # 资源和配置文件
pom.xml  # maven核心配置文件

4、标签

1、项目标签

  • project标签是根标签,后面是约束文件,限制属性和标签规则
  • pom(project object module)模型版本

1、<project></project>

2、<modelVersion></modelVersion>

2、坐标标签(gav)

  • 确定资源,是资源的唯一标识
  • 在maven中,每个资源坐标是唯一的

1、<groupid></groupid>

  • 组织名称:com.miao,一般是公司域名倒写

2、<artifiactid></artifiactid>

  • 项目名称:如果groupid有项目,则是那个项目的子项目名称

3、<version></version>

  • 项目版本号:一般是三位组成,格式为:主版本号.次版本号.小版本号-SNAPSHOT(接上这个,则说明该项目是不稳定版本)

3、*全局变量标签

1、<properties></properties>

  1. ```xml
    <properties>
        <maven.compiler.source>17</maven.compiler.source>  # 源码编译jdk版本
        <maven.compiler.target>17</maven.compiler.target>  # 运行代码的jdk版本
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  # 项目构建时使用的编码,避免乱码
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  # 生成报告的编码(mvn test)
        <spring.version></spring.version>  # 规定jar包的版本号,配合<version></version>标签使用
        <Junit.version></Junit.version>  # 规定jar包的版本号,配合<version></version>标签使用
    </properties>
    ```
    
  2. 使用变量

    <version>${spring.version}</version>
    <version>${Junit.version}</version>
    

4、依赖坐标标签

1、<dependencies></dependencies>

1、<dependency></dependency>配合gav使用
1、<scope></scope>
  1. compile(默认) 编译-测试-运行 logback
  2. test 测试 Junit
  3. provided 编译-测试 server-api,即部署到服务器时,不再提供此jar包,一般是因为服务器自带这个jar包防止冲突
  4. runtime 测试-运行 jdbc驱动
  5. system 编译-测试 本地jar包
  6. import 待更新

5、打包标签

1、<packaging></packaging>

  • 默认是jar,可以是war、jar、pom、ear等

6、构建标签

  • 编译器的版本或者其他插件

1、<build></build>

2、<plugins></plugins>

<build>
    <plugins>
        <plugin>
            <groupid>org.apache.maven.plugins</groupid>
            <artifactid>maven-compiler-plugin</artifactid>
            <version>3.8.1</version>
            <configuration>
                <!-- 默认是1.7 -->
                <source>1.8</source>  # 编译代码的jdk版本
                <target>1.8</target>  # 运行编译过的代码的jdk版本
            </configuration>
        </plugin>
    </plugins>
</build>

7、继承标签

1、<parent></parent>

8、聚合标签

1、<modules></modules>

5、仓库

  1. 本地仓库,默认路径是 用户/用户名/.m2/repository
    • 修改maven配置文件即可改变<localrepository>路径</localrepository>
  2. 中央仓库,maven社区提供依赖坐标信息[Maven Repository](Maven Repository: Search/Browse/Explore (mvnrepository.com))
  3. 远程仓库

6、生命周期和命令

  • 需要插件的加持才能完成以下任务
  • 需要在pom.xml同目录下运行命令
  • 命令可以组合使用
  1. mvn clean(maven-clean-plugin)清理,删除原来编译和测试的目录,即target目录。但是已经install安装的是无法清理的
  2. mvn compile(maven-compiler-plugin和maven-resources-plugin)编译,编译文件,放到target/classes/
  3. mvn test-compile(maven-compiler-plugin和maven-resources-plugin)编译测试,编译测试文件,放到target/test-classes/
  4. mvn test(maven-surefire-plugin)测试报告,测试代码是否无误,并打出测试报告,放到target/surefire-reports/
  5. mvn package(maven-jar-plugin)打包,生成jar包或者war包等,由打包标签决定,打包名字:artifactid-version.packaging,放到target/
  6. mvn install安装,一般以jar包的形式安装到本地仓库
  7. mvn deploy部署,自动部署到web容器中
  8. *mvn clean package清理后再打包

7、资源处理原则

  • 拷贝至target/classes/中
  1. 处理src/main/resource/

  2. 只处理src/main/java/的.java文件

  3. 资源插件可以解决问题2

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>  # 过滤器要处理的目录
                <includes>
                    <include>**/*.properties</include>  # 处理该目录下任意子目录的.properties文件
                    <include>**/*.xml</include>  # 处理该目录下任意子目录的.xml文件
                </includes>
                <filtering>false</filtering>  # false不启用过滤器
            </resource>
    	</resources>
    </build>
    

8、*标准配置文件

<?xml version="1.0" encoding="UTF-8"?>

<!-- project标签是根标签,后面是约束文件,限制属性和标签规则 -->
<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">

    <!-- pom(project object module)模型版本 -->
    <modelVersion>4.0.0</modelVersion>

    <!-- 以下为坐标 -->
    <groupId>org.example</groupId>
    <artifactId>Hello</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>

1、安装

2、配置

3、约定目录结构

项目文件夹
src/
    /main  # 主程序目录
    	/java  # 源代码
    	/resource  # 资源和配置文件
    /test  # 测试程序目录
    	/java  # 源代码
    	/resource  # 资源和配置文件
pom.xml  # maven核心配置文件

4、标签

1、项目标签

  • project标签是根标签,后面是约束文件,限制属性和标签规则
  • pom(project object module)模型版本

1、<project></project>

2、<modelVersion></modelVersion>

2、坐标标签(gav)

  • 确定资源,是资源的唯一标识
  • 在maven中,每个资源坐标是唯一的

1、<groupid></groupid>

  • 组织名称:com.miao,一般是公司域名倒写

2、<artifiactid></artifiactid>

  • 项目名称:如果groupid有项目,则是那个项目的子项目名称

3、<version></version>

  • 项目版本号:一般是三位组成,格式为:主版本号.次版本号.小版本号-SNAPSHOT(接上这个,则说明该项目是不稳定版本)

3、*全局变量标签

1、<properties></properties>

  1. ```xml
    <properties>
        <maven.compiler.source>17</maven.compiler.source>  # 源码编译jdk版本
        <maven.compiler.target>17</maven.compiler.target>  # 运行代码的jdk版本
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  # 项目构建时使用的编码,避免乱码
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  # 生成报告的编码(mvn test)
        <spring.version></spring.version>  # 规定jar包的版本号,配合<version></version>标签使用
        <Junit.version></Junit.version>  # 规定jar包的版本号,配合<version></version>标签使用
    </properties>
    ```
    
  2. 使用变量

    <version>${spring.version}</version>
    <version>${Junit.version}</version>
    

4、依赖坐标标签

1、<dependencies></dependencies>

1、<dependency></dependency>配合gav使用
1、<scope></scope>
  1. compile(默认) 编译-测试-运行 logback
  2. test 测试 Junit
  3. provided 编译-测试 server-api,即部署到服务器时,不再提供此jar包,一般是因为服务器自带这个jar包防止冲突
  4. runtime 测试-运行 jdbc驱动
  5. system 编译-测试 本地jar包
  6. import 待更新

5、打包标签

1、<packaging></packaging>

  • 默认是jar,可以是war、jar、pom、ear等

6、构建标签

  • 编译器的版本或者其他插件

1、<build></build>

2、<plugins></plugins>

<build>
    <plugins>
        <plugin>
            <groupid>org.apache.maven.plugins</groupid>
            <artifactid>maven-compiler-plugin</artifactid>
            <version>3.8.1</version>
            <configuration>
                <!-- 默认是1.7 -->
                <source>1.8</source>  # 编译代码的jdk版本
                <target>1.8</target>  # 运行编译过的代码的jdk版本
            </configuration>
        </plugin>
    </plugins>
</build>

7、继承标签

1、<parent></parent>

8、聚合标签

1、<modules></modules>

5、仓库

  1. 本地仓库,默认路径是 用户/用户名/.m2/repository
    • 修改maven配置文件即可改变<localrepository>路径</localrepository>
  2. 中央仓库,maven社区提供依赖坐标信息[Maven Repository](Maven Repository: Search/Browse/Explore (mvnrepository.com))
  3. 远程仓库

6、生命周期和命令

  • 需要插件的加持才能完成以下任务
  • 需要在pom.xml同目录下运行命令
  • 命令可以组合使用
  1. mvn clean(maven-clean-plugin)清理,删除原来编译和测试的目录,即target目录。但是已经install安装的是无法清理的
  2. mvn compile(maven-compiler-plugin和maven-resources-plugin)编译,编译文件,放到target/classes/
  3. mvn test-compile(maven-compiler-plugin和maven-resources-plugin)编译测试,编译测试文件,放到target/test-classes/
  4. mvn test(maven-surefire-plugin)测试报告,测试代码是否无误,并打出测试报告,放到target/surefire-reports/
  5. mvn package(maven-jar-plugin)打包,生成jar包或者war包等,由打包标签决定,打包名字:artifactid-version.packaging,放到target/
  6. mvn install安装,一般以jar包的形式安装到本地仓库
  7. mvn deploy部署,自动部署到web容器中
  8. *mvn clean package清理后再打包

7、资源处理原则

  • 拷贝至target/classes/中
  1. 处理src/main/resource/

  2. 只处理src/main/java/的.java文件

  3. 资源插件可以解决问题2

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>  # 过滤器要处理的目录
                <includes>
                    <include>**/*.properties</include>  # 处理该目录下任意子目录的.properties文件
                    <include>**/*.xml</include>  # 处理该目录下任意子目录的.xml文件
                </includes>
                <filtering>false</filtering>  # false不启用过滤器
            </resource>
    	</resources>
    </build>
    

8、*标准配置文件

<?xml version="1.0" encoding="UTF-8"?>

<!-- project标签是根标签,后面是约束文件,限制属性和标签规则 -->
<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">

    <!-- pom(project object module)模型版本 -->
    <modelVersion>4.0.0</modelVersion>

    <!-- 以下为坐标 -->
    <groupId>org.example</groupId>
    <artifactId>Hello</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>

1、安装

2、配置

3、约定目录结构

项目文件夹
src/
    /main  # 主程序目录
    	/java  # 源代码
    	/resource  # 资源和配置文件
    /test  # 测试程序目录
    	/java  # 源代码
    	/resource  # 资源和配置文件
pom.xml  # maven核心配置文件

4、标签

1、项目标签

  • project标签是根标签,后面是约束文件,限制属性和标签规则
  • pom(project object module)模型版本

1、<project></project>

2、<modelVersion></modelVersion>

2、坐标标签(gav)

  • 确定资源,是资源的唯一标识
  • 在maven中,每个资源坐标是唯一的

1、<groupid></groupid>

  • 组织名称:com.miao,一般是公司域名倒写

2、<artifiactid></artifiactid>

  • 项目名称:如果groupid有项目,则是那个项目的子项目名称

3、<version></version>

  • 项目版本号:一般是三位组成,格式为:主版本号.次版本号.小版本号-SNAPSHOT(接上这个,则说明该项目是不稳定版本)

3、*全局变量标签

1、<properties></properties>

  1. ```xml
    <properties>
        <maven.compiler.source>17</maven.compiler.source>  # 源码编译jdk版本
        <maven.compiler.target>17</maven.compiler.target>  # 运行代码的jdk版本
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  # 项目构建时使用的编码,避免乱码
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  # 生成报告的编码(mvn test)
        <spring.version></spring.version>  # 规定jar包的版本号,配合<version></version>标签使用
        <Junit.version></Junit.version>  # 规定jar包的版本号,配合<version></version>标签使用
    </properties>
    ```
    
  2. 使用变量

    <version>${spring.version}</version>
    <version>${Junit.version}</version>
    

4、依赖坐标标签

1、<dependencies></dependencies>

1、<dependency></dependency>配合gav使用
1、<scope></scope>
  1. compile(默认) 编译-测试-运行 logback
  2. test 测试 Junit
  3. provided 编译-测试 server-api,即部署到服务器时,不再提供此jar包,一般是因为服务器自带这个jar包防止冲突
  4. runtime 测试-运行 jdbc驱动
  5. system 编译-测试 本地jar包
  6. import 待更新

5、打包标签

1、<packaging></packaging>

  • 默认是jar,可以是war、jar、pom、ear等

6、构建标签

  • 编译器的版本或者其他插件

1、<build></build>

2、<plugins></plugins>

<build>
    <plugins>
        <plugin>
            <groupid>org.apache.maven.plugins</groupid>
            <artifactid>maven-compiler-plugin</artifactid>
            <version>3.8.1</version>
            <configuration>
                <!-- 默认是1.7 -->
                <source>1.8</source>  # 编译代码的jdk版本
                <target>1.8</target>  # 运行编译过的代码的jdk版本
            </configuration>
        </plugin>
    </plugins>
</build>

7、继承标签

1、<parent></parent>

8、聚合标签

1、<modules></modules>

5、仓库

  1. 本地仓库,默认路径是 用户/用户名/.m2/repository
    • 修改maven配置文件即可改变<localrepository>路径</localrepository>
  2. 中央仓库,maven社区提供依赖坐标信息[Maven Repository](Maven Repository: Search/Browse/Explore (mvnrepository.com))
  3. 远程仓库

6、生命周期和命令

  • 需要插件的加持才能完成以下任务
  • 需要在pom.xml同目录下运行命令
  • 命令可以组合使用
  1. mvn clean(maven-clean-plugin)清理,删除原来编译和测试的目录,即target目录。但是已经install安装的是无法清理的
  2. mvn compile(maven-compiler-plugin和maven-resources-plugin)编译,编译文件,放到target/classes/
  3. mvn test-compile(maven-compiler-plugin和maven-resources-plugin)编译测试,编译测试文件,放到target/test-classes/
  4. mvn test(maven-surefire-plugin)测试报告,测试代码是否无误,并打出测试报告,放到target/surefire-reports/
  5. mvn package(maven-jar-plugin)打包,生成jar包或者war包等,由打包标签决定,打包名字:artifactid-version.packaging,放到target/
  6. mvn install安装,一般以jar包的形式安装到本地仓库
  7. mvn deploy部署,自动部署到web容器中
  8. *mvn clean package清理后再打包

7、资源处理原则

  • 拷贝至target/classes/中
  1. 处理src/main/resource/

  2. 只处理src/main/java/的.java文件

  3. 资源插件可以解决问题2

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>  # 过滤器要处理的目录
                <includes>
                    <include>**/*.properties</include>  # 处理该目录下任意子目录的.properties文件
                    <include>**/*.xml</include>  # 处理该目录下任意子目录的.xml文件
                </includes>
                <filtering>false</filtering>  # false不启用过滤器
            </resource>
    	</resources>
    </build>
    

8、*标准配置文件

<?xml version="1.0" encoding="UTF-8"?>

<!-- project标签是根标签,后面是约束文件,限制属性和标签规则 -->
<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">

    <!-- pom(project object module)模型版本 -->
    <modelVersion>4.0.0</modelVersion>

    <!-- 以下为坐标 -->
    <groupId>org.example</groupId>
    <artifactId>Hello</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cs4m

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值