Maven项目的配置

news2024/10/7 6:41:15

Maven是什么?它的作用是什么?

Maven是一种开源的构建工具,它可以自动化构建、测试、部署和管理Java项目。它提供了一个中心化的构建过程,包括依赖管理、项目结构管理、插件管理等,使得开发人员更方便地维护和协作应用程序。Maven项目可以简化软件开发的流程,减少了人为因素的干扰,提高了整个开发过程的效率和质量。

Maven的主要作用包括:

  1. 依赖管理:自动管理项目所需的所有依赖关系,包括依赖版本的管理、依赖库的下载和更新等。
  2. 项目结构管理:规范化项目文件结构和编译、测试、打包等过程,增强项目的可维护性。
  3. 插件管理:提供一些常用的插件,例如进行代码质量检查、测试覆盖率、打包等。
  4. 构建过程自动化:自动执行构建、测试、安装和部署等基本工作,减少手动操作,提高效率和效果。
  5. 可扩展性:开发人员可以自定义插件,扩展Maven的功能和适应特定需求。

什么是依赖大于配置?

Maven中的依赖大于配置"是指Maven在进行项目构建时,会自动下载和管理项目的第三方依赖库,并将这些依赖库添加到项目的Classpath中,无需手动进行配置。换句话说,项目的依赖关系比手工配置简单,更易于维护,减少了代码的冗余,提高了项目的可重用性。因此,Maven的依赖管理机制被称为“依赖大于配置(Convention over configuration)。

如何创建一个web项目?

1、创建一个Maven项目,在Archetype中添加web项目,就是Maven下面的webapp,如果想创建一个普通项目,就点击创建即可,但是需要在普通项目添加web项目需要的资源

2、创建成功后,会得到下面的界面,src中会有resources资源包和webapp项目包

 

 当然如果没有这些就需要自己去创建,有两种方式:

第一种,右键,标记创建的包是什么类型

第二种,点击项目结构,点击模块,然后点击项目,再点击source,选中包就可以标记

 

3、配置tomcat,步骤如下:

第一步,点击当前文件,点击编辑配置,如下图

 第二步,添加新配置,点击"+",往下翻就可以找到tomcat服务器,选择本地

第三步,进行配置这些,第一次用idea需要配置这些

 

 

第四步,进入修复界面,这里需要注意

 6、点击应用、确定后,就可以运行项目了,我改的路径是斜杠(/),所以默认是8080,如果这个路径写成s1,就是http://localhost:8080/s1,这个过程叫做虚拟路径映射

 还想跟大家说一下,在项目部署之前会产生一个target文件夹

 

 target文件夹产生的原因:

在idea中,当我们创建一个Maven项目时,项目结构中就会自动生成一个名为"target"的文件夹。这个文件夹包含了我们需要的编译后的代码、静态资源和其他工具。

在Maven中,"target"文件夹是默认的输出目录,也就是说,编译后的代码等文件就会输出到这个文件夹内。这是因为Maven是一个依赖管理工具,其主要功能是帮助我们自动下载依赖库并编译构建项目。所有的构建结果都会输出到"target"文件夹中,方便我们进行调试和部署。

此外,"target"文件夹还包含了一些其他目录,如"classes"、"test-classes"和"generated-sources"等,这些目录存放编译后的Java类文件、测试类文件和自动生成的代码等。

因此,在idea中,产生"target"文件夹的主要原因是为了存放编译后的代码等文件,以方便我们进行调试和部署。

讲讲Maven中的pom文件,这个文件是pom的核心配置文件,Maven项目创建完成,右边会有一个Maven,点击打开,就会看到下图,生命周期是Maven的命令行操作;插件看自己的需要;

依赖项就是导入的依赖包,当你在pom中导入jar包后,依赖项就会加载;

安装好Maven,可以在Maven中创建一个Maven仓库,里面可以下载一些jar包,当然如果仓库没有jar可以在​​​​​​​https://mvnrepository.com/icon-default.png?t=N3I4https://mvnrepository.com/

上面这个连接是Maven的仓库,可以下载jar,也可以下pom依赖,看自己的需要

jar包和war包的作用?

刚刚提到jar,那我解释一下他是干嘛的,以及和war的区别

jar和war都是Java程序包,用于打包和部署Java应用程序。

Jar(Java Archive)是一种压缩文件格式,其中包含Java类文件、资源文件、配置文件以及其它任何需要的文件。通常用于打包Java库、工具类和小型应用程序。

War(Web Archive)则是一种专门用于打包Web应用程序的格式。除了包含Java类和资源文件以外,还包括HTML、CSS、JavaScript、JSP、Servlet、XML等Web相关文件。War文件通常部署在Java Web服务器上。

因此,如果开发者想要打包一个Java库或小型应用程序,可以选择使用jar格式;如果要打包Web应用程序,则使用war格式更为合适。

为什么需要打包?

打jar包是将Java代码打包成可执行的文件,可以方便地部署和运行Java应用程序。打jar包的好处包括:

  1. 方便部署和传输:将所有依赖的类、库和资源文件打包成一个文件,可以方便地分发给其他人或在不同的环境中部署。

  2. 提高运行效率:将代码打包成jar可以减少资源的调用次数,提高程序的运行效率。

  3. 提高代码安全性:将代码打包成jar可以保护代码的知识产权,防止代码被篡改和盗用。

  4. 方便管理:将Java应用程序打包成jar可以方便地进行版本管理和控制。

  5. 提高用户体验:将Java应用程序打包成jar可以方便地启动和运行,提高用户体验。

jar包和war包的区别?

JAR包和WAR包都是Java程序的打包格式,不同之处在于:

JAR包:

  1. JAR(Java Archive)是Java程序中常用的打包格式,可以包含Java代码、类、资源文件等。
  2. JAR包是一个可执行的程序,可以直接在Java虚拟机上运行,也可以被其他程序引用。
  3. JAR包通常用于打包Java库、组件或应用程序。

WAR包:

  1. WAR(Web Application Archive)是Web应用程序中常用的打包格式,可以包含Web应用程序的所有资源、JSP/Servlet文件、配置文件、类文件、Jar包等。
  2. WAR包是一个Web应用程序的打包文件,可以部署到Web服务器上。
  3. WAR包通常用于打包Web应用程序,例如JSP、Servlet、HTML、CSS、JavaScript等静态和动态的Web页面。

总之,JAR包适用于Java程序的打包部署,WAR包则适用于Web应用程序的打包部署。

 

 

 

 

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

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

相关文章

【Python】操作MySQL

一、Python 操作 Mysql的方式 Python 操作 Mysql 主要包含下面 3 种方式: Python-MySql Python-MySql 由 C 语法打造,接口精炼,性能最棒;但是由于环境依赖多,安装复杂,已停止更新,仅支持 Python…

记一次我的漏洞挖掘实战——某公司的SQL注入漏洞

目录 一、前言 二、挖掘过程 1.谷歌语法随机搜索 2.进入网站 3.注入点检测 3.SQLMAP爆破 (1)爆库 (2)爆表 (3)爆字段 三、总结 一、前言 我是在漏洞盒子上提交的漏洞,上面有一个项目叫…

【远程工具】- Tabby 下载、安装、使用、配置【ssh/Serial】-免安装、解压即用

目录 一、Tabby 概述 二、Tabby 下载、安装 三、Tabby 的使用  👉3.1 使用SSH协议连接Linux开发主机  👉3.2 使用Serial(串口)协议连接开发板 一、Tabby 概述 在远程终端工具中,secureCrt 和 XShell 是两款比较有名的远程工具,但…

矩阵求逆方法

1.待定系数法 矩阵A 1, 2 -1,-3 假设所求的逆矩阵为 a,b c,d 则 从而可以得出方程组 a 2c 1 b 2d 0 -a - 3c 0 -b - 3d 1 解得 a3; b2; c -1; d -1 2.伴随矩阵求逆矩阵 伴随矩阵是矩阵元素所对应的代数余子式,所构成的矩阵,转置后得到的新矩阵…

图的存储--邻接矩阵/边集数组/邻接表/链式邻接表/链式前向星

邻接矩阵 使用二维数组w[u][v]存储点u到点v的边的权值。一般应用在点数不多的稠密图 时间复杂度&#xff1a;O(n2) 空间复杂度&#xff1a;O(n2) int w[N][N]; // edge int vis[N]; // visitedvoid dfs(int u){vis[u] true;for(int v 1; v < n; v)if(w[u][v]){prin…

Java 基础进阶篇(六)—— 面向对象三大特征之三:多态

文章目录 一、多态的概述二、多态中成员访问特点 ★三、多态的优势与劣势四、多态下的类型转换4.2 自动类型转换&#xff08;从子到父&#xff09;4.2 强制类型转换&#xff08;从父到子&#xff09;4.3 instanceof 关键字 一、多态的概述 多态&#xff1a;是指执行同一个行为…

自动驾驶——最优控制算法里卡提方程推导【连续系统】

1. Why use the Riccati equation&#xff1f; Q、R就是需要设计的半正定矩阵和正定矩阵。考虑根据实车的情况去标定此参数&#xff0c;从理论和工程层面去理解&#xff0c;如果增大Q、减小R&#xff0c;则此时控制系统响应速度比较快速&#xff08;比较剧烈&#xff09;&…

[SpringBoot]什么是服务器前后端的一个流程图bmi练习案例

前点: 服务器&#xff1a; 服务器就是一台高性能的电脑, 在电脑上安装了提供XXX服务的软件, 这台电脑就可以称为XXX服务器 - 举例: - 数据库服务器: 在电脑上安装了提供数据增删改查服务的软件(DBMS) - 邮件服务器: 在电脑上安装了提供邮件收发服务的软件 - FTP服务器: …

普通的2D Average pooling是怎么进行backward的呢?

二维平均池层计算损失相对于其输入张量的梯度&#xff0c;方法是将损失相对于输出张量的梯度均分在输入子区域&#xff0c;这些子区域在前向传播中被用来计算平均值。 由于平均集合计算的是每个输入子区域的平均值&#xff0c;所以子区域中的每个元素对平均值的贡献是相同的。…

Java Servlet_HTTP

今日内容 零、 复习昨日 一、Servlet 二、HTTP 三、HttpServlet 零、 复习昨日 见晨考 一、Servlet 1.1 介绍 javaweb开发,就是需要服务器接收前端发送的请求,以及请求中的数据,经过处理(jdbc操作),然后向浏览器做出响应. 我们要想在服务器中写java代码来接收请求,做出响应,我…

SignOff Criteria——AOCV(Advanced OCV) introduction

文章目录 1. O v e r v i e w Overview Overview2. A O C V P r i n c i p l e I n t r o d u c t i o n AOCV\ Principle\ Introduction AOCV Principle Introduction2.1 G B A − A O C V GBA-AOCV GBA−AOCV2.1.1 A b o u t L o g i c a l D e p t h About\ Logical\ De…

第六章 Iptables与Firewalld防火墙

第六章 Iptables与Firewalld防火墙 一、Iptables 1、策略与规则链 &#xff08;1&#xff09;、防火墙策略规则的设置 一种是“通”即放行&#xff0c;另一种是“堵”即阻止。 当防火墙的默认策略为拒绝时&#xff08;堵&#xff09;&#xff0c;就要设置允许规则通&#x…

NECCS|全国大学生英语竞赛C类|听力|短对话|14:20~15:30

目录 一、短对话 1. 定位词 2. 场景词汇 &#xff08;1&#xff09;餐馆用餐 &#xff08;2&#xff09;商场用语 &#xff08;3&#xff09;校园用语 &#xff08;4&#xff09;图书馆用语 二、题目类型 1. 人物类 考点聚焦 2. 地点类 主要涉及 3. 数字类 4. 主题…

【数据库】JDBC编程

前言 小亭子正在努力的学习编程&#xff0c;接下来将开启javaEE的学习~~ 分享的文章都是学习的笔记和感悟&#xff0c;如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话&#xff0c;烦请点赞关注支持一波, 感激不尽~~ 目录 前言 什么是JDBC&#xff1f; JDBC工…

sql注入(三)绕过方法及防御手段

一、sql注入的绕过方法 1.注释符过滤绕过 常用的注释符有&#xff1a; 1&#xff09;-- 注释内容 2&#xff09;# 注释内容 3&#xff09;/* 注释内容 */ 绕过方法 构造闭合&#xff1a; ?id1 and sql语句 and 11 这样接收源码前面的引号被 id1 中的后引号所闭合&…

关于MPU的笔记

MPU&#xff08;memory protection unit&#xff09;内存保护单元。这些系统必须提供一种机制来保证正在运行的任务不破坏其他任务的操作。即要防止系统资源和其他一些任务不受非法访问。嵌入式系统有专门的硬件来检测和限制系统资源的访问。它能保证资源的所有权&#xff0c;任…

unity 性能优化之画质分级

如果你的游戏兼容多平台&#xff0c;或者当前平台的设备也有硬件差距&#xff0c;比如低端设备就是带不动你的画质&#xff0c;无论如何你如何优化就是带不动。这种情况下&#xff0c;我们可以考虑对画质进行分级&#xff0c;减少一些特性&#xff0c;来提高运行质量。接下来我…

JavaWeb《HTML基础标签》

本笔记学习于Acwing平台 MDN官方文档https://developer.mozilla.org/zh-CN/ 目录 1. html文件结构 2. 文本标签 3. 图片 4. 音频和视频 5. 超链接 6. 表单 7. 列表 8. 表格 9. 语义标签 10. 特殊符号 1. html文件结构 文档结构 html的所有标签为树形结构&#xff…

AI模型推理(3)——ModelMesh使用

参考&#xff1a; ModelMesh installation - KServe Documentation Website ModelMesh Overview - KServe Documentation Website 前言 Kserve提供了“Serverless”和“ModelMesh”两种安装模式。其中Serverless是通过Knative组件实现动态扩缩容等功能。而ModelMesh则是另一…

华南X99F8D开不了机——主板出现错误码67的解决方案

华南X99F8D开不了机——主板出现错误码67的解决方案 前言 笔者的双路e5&#xff1a;大数据双路e5主机搭建&#xff1a;2696v3256g内存 配置&#xff1a; 主板&#xff1a;x99f8d CPU&#xff1a;e5 2696v3 *2 【36核72线程】 内存条&#xff1a;DDR4 ECC 32G *8 【256G】 显…