Maven全解析:从基础到精通的实战指南

概念:
  1. Maven 是跨平台的项目管理工具。主要服务基于 Java 平台的构建,依赖管理和项目信息管理
  2. 项目构建:高度自动化,跨平台,可重用的组件,标准化的流程
依赖管理:
  1. 对第三方依赖包的管理,可以连接互联网下载项目所需第三方 jar 包
  2. 对自己开发的模块的管理,可以像引用第三方依赖包一样依赖自己项目的依赖包
项目构建:
  1. 项目构建:从编写源代码到编译、测试、运行、打包、部署的过程
  2. 传统项目和 Maven 项目架构的两种方式
    1. 传统方式:
      1. IDEA 编写源代码和配置文件,对源代码进行编译,可以使用 Junit 进行单元测试,把项目打成 war 包,部署到 Tomcat 服务器中运行
    2. Maven 项目:
      1. Maven 将项目构建过程进项标准化,每个阶段都可以使用一个命令来完成
      2. 清理 ==> 编译 ==> 测试 ==> 报告 ==> 打包 ==> 部署
  3. 好处:
    1. 可以通过命令完成构建。(测试:使用 mvn tomcat:run 的命令来运行项目)
    2. Maven 对每个构建阶段进行规范,有利于大型团队协作开发
Maven 模型:

Maven 的第一个项目:

创建Maven 项目目录(注意以下所有引用包路径,设置成自己的包路径):
  1. src/main/java ----存放项目的 .java 文件
  2. src/main/resoutces ---存放项目资源文件,如 Spring,MyBatis 配置文件
  3. src/test/java ---存放所有测试 .java 文件,如 JUnit 测试类
  4. src/test/resource ---测试资源文件
  5. target ---项目输出位置
  6. pom.xml
在项目 HelloFriend 根目录创建 pom.xml
复制代码
   <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>cn.tx.maven</groupId>
    <artifactId>Hello</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Hello</name>
      <dependencies>
                <dependency>
                           <groupId>junit</groupId>
                           <artifactId>junit</artifactId>
                           <version>4.9</version>
                           <scope>test</scope>
                </dependency>                 
                
      </dependencies>
   </project>
创建 Hello.java 文件
java 复制代码
package 自己的包路径;
public class Hello {
   public StringsayHello(String name){
             return"Hello "+name+"!";
   }
}
创建 HelloTest.java 文件
  1. 在 src/test/java/···/maven 目录下新建测试文件 HelloTest.java

    java 复制代码
    package 包路径;
    import org.junit.Test;
    import static junit.framework.Assert.*;
    public class HelloTest {
       @Test
       public void testHello(){
                 Hello hello = newHello();
                 String results =hello.sayHello("maven");
                 assertEquals("Hellomaven!",results);              
       }
    }
进行 Maven 的项目操作:
  1. 当前文件情况:
  2. 打开 cmd(可能需要管理员模式),进入 Hello 项目根目录执行 mvn compile 命令,查看根目录变化
  3. cmd 中继续录入 mvn clean 命令,然后再次查看根目录变化
  4. cmd 中继续录入 mvn clean compile 命令,然后再次查看根目录变化
  5. cmd 中录入 mvn clean test 命令,查看根目录变化
  6. cmd 中录入 mvn clean package 命令,查看根目录变化
  7. cmd 中录入 mvn clean install 查看仓库会把项目安装到仓库里
相关推荐
sky_ph11 分钟前
JAVA-GC浅析(一)
java·后端
爱coding的橙子12 分钟前
每日算法刷题Day24 6.6:leetcode二分答案2道题,用时1h(下次计时20min没写出来直接看题解,节省时间)
java·算法·leetcode
岁忧17 分钟前
(nice!!!)(LeetCode每日一题)2434. 使用机器人打印字典序最小的字符串(贪心+栈)
java·c++·算法·leetcode·职场和发展·go
天天摸鱼的java工程师27 分钟前
@Autowired 注入失效?
java·后端
sss191s31 分钟前
校招 Java 面试基础题目解析学习指南含新技术实操要点
java·python·面试
编程毕设34 分钟前
【含文档+PPT+源码】基于微信小程序的旅游论坛系统的设计与实现
java·tomcat·旅游
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ36 分钟前
saveOrUpdate 有个缺点,不会把值赋值为null,解决办法
java·开发语言
bytebeats43 分钟前
Java 21 虚拟线程 - 兄嘚, 我的锁呢?
java
随缘而动,随遇而安1 小时前
第七十四篇 高并发场景下的Java并发容器:用生活案例讲透技术原理
java·大数据·后端
weixin_436525071 小时前
Spring Boot 实现流式响应(兼容 2.7.x)
java·spring boot·后端