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

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

Maven 的第一个项目:

  1. 创建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
  2. 在项目 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>
  3. 创建 Hello.java 文件
    package 自己的包路径;
    public class Hello {public StringsayHello(String name){return"Hello "+name+"!";}
    }
  4. 创建 HelloTest.java 文件
    1. 在 src/test/java/···/maven 目录下新建测试文件 HelloTest.java
      
      package 包路径;
      import org.junit.Test;
      import static junit.framework.Assert.*;
      public class HelloTest {@Testpublic void testHello(){Hello hello = newHello();String results =hello.sayHello("maven");assertEquals("Hellomaven!",results);              }
      }
  5. 进行 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 查看仓库会把项目安装到仓库里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/69000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB实现单层竞争神经网络数据分类

一.单层竞争神经网络介绍 单层竞争神经网络&#xff08;Single-Layer Competitive Neural Network&#xff09;是一种基于竞争学习的神经网络模型&#xff0c;主要用于数据分类和模式识别。其核心思想是通过神经元之间的竞争机制&#xff0c;使得网络能够自动学习输入数据的特…

Weevely代码分析

亲测php5和php8都无效&#xff0c;只有php7有效 ailx10 1949 次咨询 4.9 网络安全优秀回答者 互联网行业 安全攻防员 去咨询 上一次做weevely实验可以追溯到2020年&#xff0c;当时还是weevely3.7&#xff0c;现在的是weevely4 生成php网页木马依然差不多…… php菜刀we…

【AI大模型】DeepSeek API大模型接口实现

目录 一、DeepSeek发展历程 2023 年&#xff1a;创立与核心技术突破 2024 年&#xff1a;开源生态与行业落地 2025 年&#xff1a;多模态与全球化布局 性能对齐 OpenAI-o1 正式版​ 二、API接口调用 1.DeepSeek-V3模型调用 2.DeepSeek-R1模型调用 三、本地化部署接口调…

具身智能-强化学习-强化学习基础-马尔可夫

文章目录 参考强化学习基础强化学习特点reward函数两种强化学习两种策略&#xff1a;探索&#xff08;Exploration&#xff09; vs. 利用&#xff08;Exploitation&#xff09;gym库的使用 马尔可夫马尔可夫过程马尔可夫奖励过程&#xff08;Markov Reward Process, MRP&#x…

半导体器件与物理篇5 mosfet及相关器件

认识mos二极管 MOS二极管是研究半导体表面特性最有用的器件之一。MOS二极管可作为存储电容器&#xff0c;并且是电荷耦合器件(CCD)的基本结构单元。 MOS二极管结构的重要参数包括&#xff1a;氧化层厚度d&#xff1b;施加于金属平板上的电压V&#xff08;正偏压时V为正&#x…

037 DFS回溯

1.回溯模板求排列 2.回溯模板求子集 # 当前位于点x&#xff0c;步长为length def dfs(x,length):passvis[x]length #接下来走下一个点 #判断下一个点是否走过if vis[a[x]]!0:#此时存在环global ansansmax(ans,length-vis[a[x]]1)else:dfs(a[x],length1)nint(input()) a[0]list(…

RK3568使用QT搭建TCP服务器和客户端

文章目录 一、让RK3568开发板先连接上wifi二、客户端代码1. `widget.h` 文件2. `widget.cpp` 文件**详细讲解**1. **`Widget` 类构造函数 (`Widget::Widget`)**2. **UI 布局 (`setupUI`)**3. **连接按钮的槽函数 (`onConnectClicked`)**4. **发送消息按钮的槽函数 (`onSendMess…

力扣988. 从叶结点开始的最小字符串

Problem: 988. 从叶结点开始的最小字符串 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 在先序遍历的过程中&#xff0c;用一个变量path拼接记录下其组成的字符串&#xff0c;当遇到根节点时再将其反转并比较大小&#xff08;字典顺序大小&…

本地Ollama部署DeepSeek R1模型接入Word

目录 1.本地部署DeepSeek-R1模型 2.接入Word 3.效果演示 4.问题反馈 上一篇文章办公新利器&#xff1a;DeepSeekWord&#xff0c;让你的工作更高效-CSDN博客https://blog.csdn.net/qq_63708623/article/details/145418457?spm1001.2014.3001.5501https://blog.csdn.net/qq…

Codeforces Round 1002 (Div. 2)(部分题解)

补题链接 A. Milya and Two Arrays 思路&#xff1a;题意还是比较好理解&#xff0c;分析的话我加了一点猜的成分&#xff0c;对a&#xff0c;b数组的种类和相加小于4就不行&#xff0c;蒋老师的乘完后小于等于2也合理。 AC代码&#xff1a; #include <bits/stdc.h> u…

几种用户鉴权的方式对比

几种用户鉴权的方式对比 最近也要准备秋招&#xff0c;刚好整理下前后端一般采用的几种鉴权方式。 一、传统用户鉴权 详细步骤 用户登录 用户通过前端提交用户名和密码到后端服务器&#xff0c;后端服务器验证用户名和密码是否正确。如果验证成功&#xff0c;后端生成一个 s…

基于springboot+vue的航空散货调度系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

区块链的核心原理:加密算法、共识机制与分布式账本

区块链&#xff08;Blockchain&#xff09;技术自比特币诞生以来&#xff0c;已经从一个单纯的数字货币系统演变为广泛应用于金融、供应链、医疗、政府等多个领域的技术架构。作为一种去中心化的分布式账本技术&#xff0c;区块链的核心原理主要依赖于三个关键组成部分&#xf…

Altium Designer绘制原理图时画斜线的方法

第一步&#xff1a;检查设置是否正确 打开preferences->PCB Editor ->Interactive Routing->Interactive Routing Options->Restrict TO 90/45去掉勾选项&#xff0c;点击OK即可。如下图所示&#xff1a; 然后在划线时&#xff0c;按下shift空格就能够切换划线…

Elasticsearch基本使用详解

文章目录 Elasticsearch基本使用详解一、引言二、环境搭建1、安装 Elasticsearch2、安装 Kibana&#xff08;可选&#xff09; 三、索引操作1、创建索引2、查看索引3、删除索引 四、数据操作1、插入数据2、查询数据&#xff08;1&#xff09;简单查询&#xff08;2&#xff09;…

Intel 与 Yocto 项目的深度融合:全面解析与平台对比

在嵌入式 Linux 领域&#xff0c;Yocto 项目已成为构建定制化 Linux 发行版的事实标准&#xff0c;广泛应用于不同架构的 SoC 平台。Intel 作为 x86 架构的领导者&#xff0c;在 Yocto 生态中投入了大量资源&#xff0c;为其嵌入式处理器、FPGA 和 AI 加速硬件提供了完整的支持…

java命令详解

这里以jdk8为例子&#xff0c;查看默认的垃圾回收器 java -XX:PrintCommandLineFlags -version-XX:UseParallelGC : Parallel Scavenge 和 Parallel Old 组合 -XX:InitialHeapSize268435456 : 初始化堆大小&#xff08;字节&#xff09; -XX:MaxHeapSize4294967296 : 最大堆大…

51单片机看门狗系统

在 STC89C52 单片机中&#xff0c;看门狗控制寄存器的固定地址为 0xE1。此地址由芯片厂商在硬件设计时确定&#xff0c;但是它在头文件中并未给出&#xff0c;因此在使用看门狗系统时需要声明下这个特殊功能寄存器 sfr WDT_CONTR 0xE1; 本案将用一个小灯的工作状况来展示看门…

中间件的概念及基本使用

什么是中间件 中间件是ASP.NET Core的核心组件&#xff0c;MVC框架、响应缓存、身份验证、CORS、Swagger等都是内置中间件。 广义上来讲&#xff1a;Tomcat、WebLogic、Redis、IIS&#xff1b;狭义上来讲&#xff0c;ASP.NET Core中的中间件指ASP.NET Core中的一个组件。中间件…

Unity实现按键设置功能代码

一、前言 最近在学习unity2D&#xff0c;想做一个横版过关游戏&#xff0c;需要按键设置功能&#xff0c;让用户可以自定义方向键与攻击键等。 自己写了一个&#xff0c;总结如下。 二、界面效果图 这个是一个csv文件&#xff0c;准备第一列是中文按键说明&#xff0c;第二列…