JavaWeb后端开发之Maven 2024介绍安装测试详解

简介: JavaWeb后端开发之Maven 2024介绍安装测试详解


Maven介绍

Maven是apache旗下的一个开源项目

是一款用于管理和构建java项目的工具

Maven 在后端开发中扮演着重要的角色,特别是在 Java 后端开发中。以下是 Maven 和后端开发的关系:

  1. 依赖管理: 后端开发通常需要使用各种第三方库和框架来实现功能,例如数据库连接库、Web 框架、安全框架等。Maven 可以帮助管理这些依赖关系,简化了在项目中使用第三方库的过程,同时也确保了依赖库的版本管理和一致性。
  2. 项目构建: 后端项目通常会包含大量的代码文件、配置文件和资源文件,而 Maven 可以帮助自动化项目的构建过程。通过 Maven,开发人员可以定义项目的构建规则和步骤,包括编译源代码、打包可执行文件、生成文档等,从而简化了项目的构建过程。
  3. 标准化项目结构: Maven 规定了一套标准的项目结构,这使得后端项目更易于理解和维护。遵循 Maven 的约定,开发人员可以将后端项目组织成一组标准的目录结构,包括源代码目录、资源目录、测试目录等,从而提高了项目的可读性和可维护性。
  4. 插件支持: Maven 拥有丰富的插件生态系统,提供了各种各样的插件来扩展其功能。后端开发人员可以利用这些插件来实现自动化部署、持续集成、代码质量检查等功能,从而提高了开发效率和代码质量。
  5. 团队协作: Maven 提供了一种统一的项目管理和构建工具,可以帮助团队成员更好地协作。通过 Maven,团队成员可以共享项目配置文件、依赖信息和构建规则,确保了项目在不同开发环境中的一致性和稳定性。

综上所述,Maven 在后端开发中发挥着重要作用,它简化了项目的管理和构建过程,提高了开发效率和代码质量,同时也促进了团队协作和项目的可维护性。

maven这款工具

我们只需要创建一个maven工程

当我们配置完成后

maven会自动联网下载依赖

然后我们在项目中就能直接使用了

不同的Java开发工具项目结构是不同的

我们在IDEA写的项目不能直接导入eclipse中

如果使用了Maven能解决

因为Maven为我们提供了统一的项目结构

在Maven中提供了一套标准化的项目构建方式

我们所开发的Java项目如果要运行时

要用Javac编译 再进行测试 打包 发布项目

Maven将其标准化 构建了一套标准化的操作流程

小结

模型

构建生命周期的各个阶段

我们可以根据插件来实现各种功能

这样我们就可以完成maven项目标准化的构建

项目对象模型POM

指可以通过POM.XML这个配置文件来完成一小部分的工程

依赖资源 也可以进行配置

私服可能公司里所有同事都连接这个仓库

只要有一个同事用到了架包

架包就能从中央仓库下载到远程仓库私服

这样其他同事就不用再连接中央仓库了

Maven安装

官方网站

Maven – Download Apache Maven

1.解压安装

bin目录存放的是可执行文件

项目的编译 打包 等一系列指令

conf目录里放的是配置文件

lib里放的是maven里的架包资源

2.配置本地仓库

修改配置文件

将第53行复制出来

并且还要指定本地仓库的地址

这里我直接放到桌面上便于管理

3.配置阿里云的私服 以便加速架包的下载

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
  </mirror>

4.配置系统环境变量

这样就可以在任意目录下使用maven

我们先复制maven的安装目录

我的是

C:\Users\ZDY\Desktop\maven-3.9.6

然后再此电脑右键 属性 高级系统设置

点击环境变量

变量名为 maven的安装目录

接下来还要在path环境变量中

将maven下的bin目录加到环境变量中

这就代表我们要将maven安装目录下的bin加到path环境变量

这样我们在任意目录下就可以使用maven

测试是否安装成功

如果能看到版本就代表maven已经配置成功

IDEA配置Maven环境

绝大部分时候都是在IDEA中集成Maven进行使用

创建一个空项目

并且配置项目结构

随后就是配置Maven

手动去添加

再去设置配置和本地仓库

配置JRE

修改字节码版本

当然也可以一劳永逸

可以直接配置全局变量

直接设置所有的IDEA项目中所有的Maven配置

IDEA创建Maven项目

这样就得到了

main目录下面存放的是项目的资源 java是源代码 resources是配置文件

test目录下面存放的是 测试的资源 java是源代码

并不需要配置资源所以并不会生成 当然我们也可以自己生成

测试

其中target文件夹里放的就是字节码文件

Maven的坐标

IDEA导入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>untitled</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
 
    <!--依赖配置-->
    <dependencies>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
    </dependencies>
    
</project>

小结

依赖传递

其实我们引入这一个架包

其他两个架包也会被引入

这就叫依赖传递

打开A项目的pom文件

A项目依赖B项目只需要通过依赖配置的方式依赖B项目的坐标

C项目依赖了一个工具包commons-io

打开Maven面板查看架构 会自动构建

IDEA里有一个可视化依赖传递的功能

可以打开 显示 可视图

排除依赖

A虽然依赖B 但是B中的junit就不会出现在A里

依赖范围

我们用一个标签scope来控制作用范围

举例

这样主程序就不能使用logback的依赖

只有测试中可以用

打包架包时打开目录时就不会包含logback的依赖

生命周期

Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一

就是描述项目的构建要经历哪些阶段

项目清理 项目编译 项目打包 项目部署

每一套生命周期都有一套体系 分为各个阶段

在一套生命周期运行后面的阶段进行项目的构建 前面的阶段也会运行

生命周期的各个阶段的执行方式

实际操作

跳过某一阶段

这样的话日志中会打印  

用命令行执行maven指令

实际上Maven的生命周期和生命周期的各个阶段都是抽象的概念

他并不执行具体操作

具体操作是与Maven绑定的各种插件来执行的

因为Maven本质是一个插件执行框架

所有的操作都是插件来执行的、

目录
相关文章
|
2月前
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
91 6
|
1天前
|
人工智能 自然语言处理 测试技术
Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
Potpie.ai 是一个基于 AI 技术的开源平台,能够为代码库创建定制化的工程代理,自动化代码分析、测试和开发任务。
65 19
Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
|
5天前
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
43 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
3天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
24 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
1月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
36 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
24天前
|
小程序 前端开发 关系型数据库
uniapp跨平台框架,陪玩系统并发性能测试,小程序源码搭建开发解析
多功能一体游戏陪练、语音陪玩系统的开发涉及前期准备、技术选型、系统设计与开发及测试优化。首先,通过目标用户分析和竞品分析明确功能需求,如注册登录、预约匹配、实时语音等。技术选型上,前端采用Uni-app支持多端开发,后端选用PHP框架确保稳定性能,数据库使用MySQL保证数据一致性。系统设计阶段注重UI/UX设计和前后端开发,集成WebSocket实现语音聊天。最后,通过功能、性能和用户体验测试,确保系统的稳定性和用户满意度。
|
28天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
52 2
|
2月前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
325 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
2月前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
|
2月前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
171 3

推荐镜像

更多