Maven项目的创建

目录

  • 1、Maven简介
    • 配置
    • (1)设置本地仓库
    • (2)修改Maven的jdk版本
    • (3)添加国内镜像源
    • 添加到idea中
  • 2、常用命令
  • 3、IDEA2023创建Maven项目
    • (1)Maven和Maven Archetype区别
    • (1-1)Maven
    • (1-2)Maven Archetype
  • 4、创建Maven的web项目
    • (1-1)Maven
    • (1-2)Maven Archetype(推荐)
  • 5、普通的web项目

1、Maven简介

Q:什么是?

A:全称是Apache Maven。专门用于管理和构建项目的工具


Q:有什么用??

A:就是用meven后,不管用什么编译器,项目结构都一样通用了

A:项目写好后,不知道怎么打包之类的,使用maven对应的一个命令就可以帮你完成这些工作了


依赖管理:

管理你项目所依赖的第三方资源(jar包、插件)

不用maven使用jar包的步骤:

网上去寻找下载jar包–>复制jar包到项目–>将jar包加入到工作环境

用maven后步骤:

使用简单的几行命令坐标就可以从仓库里面调你需要的jar包给你直接用上


配置

只对conf/settings.xml文件的配置说明(以下文件不特别说明,均是该文件)

首先,该文件中本身就存在很多配置,但是很多都是注释掉的

(1)设置本地仓库

<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository -->
  <localRepository>D:/Maven/apache-maven-3.8.4/repository</localRepository>

这个要将 <localRepository> </localRepository>标签写出来,地址为本地仓库名字,后续的查找相关的jar包会现在本地仓库寻找(由于第一次要从中央仓库中下载,所以加载的速慢点是正常的)

(2)修改Maven的jdk版本

<profile>     
    <id>JDK-1.8</id>       
    <activation>       
        <activeByDefault>true</activeByDefault>       
        <jdk>1.8</jdk>       
    </activation>       
    <properties>       
        <maven.compiler.source>1.8</maven.compiler.source>       
        <maven.compiler.target>1.8</maven.compiler.target>       
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>       
    </properties>       
</profile>

找到<profiles></profiles> 标签写在里面即可

(3)添加国内镜像源

写到<mirrors></mirrors>标签中

<!-- 阿里云仓库 -->
<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

<!-- 中央仓库1 -->
<mirror>
    <id>repo1</id>
    <mirrorOf>central</mirrorOf>
    <name>Human Readable Name for this Mirror.</name>
    <url>http://repo1.maven.org/maven2/</url>
</mirror>

<!-- 中央仓库2 -->
<mirror>
    <id>repo2</id>
    <mirrorOf>central</mirrorOf>
    <name>Human Readable Name for this Mirror.</name>
    <url>http://repo2.maven.org/maven2/</url>
</mirror>


这样对于文件的配置进本完成,后续有需要可以在添加修改

添加到idea中

注意设置到 IDEA 的全局中
在这里插入图片描述

直接搜索maven即可
在这里插入图片描述

i : Maven主路径设置为自己的安装路径

ii :用户设置文件设置为Maven的conf文件夹下的settings.xml 文件,并注意后面打上对号

iii :本地仓库注意看看是否是自己设置的仓库,不是的话,修改下即可

2、常用命令

# 显示版本信息
mvn -version 
# 清理项目产生的临时文件,一般是模块下的target目录
mvn clean
# 编译源代码,一般是模块下的 src/main/java目录
mvn compile
# 项目打包工具 ,会在模块下的target目录生成jar或war等文件
mvn package
# 测试命令,或执行sec/test/java/下的junit的测试用例
mvn test
# 将打包的jar/war的文件复制到本地仓库中,供其他模块使用
mvn install
# 将打包的文件发布到远程参考,供其他人进行下载依赖
mvn deploy
# 生成项目相关信息的网站
mvn site
# 打印出项目的整个依赖树
mvn dependency:tree
# 创建maven的普通java项目
mvn archetype:generate
# 在Tomcat容器中运行web项目
mvn tomca7:run

3、IDEA2023创建Maven项目

(1)Maven和Maven Archetype区别

Maven:普通工程

Maven Archetype:模板工程

(1-1)Maven

在这里插入图片描述

创建好之后如下
在这里插入图片描述
在这里插入图片描述

(1-2)Maven Archetype

注意图片中的选择!!!

在这里插入图片描述

Archetype选择第一个即可,创建普通的Maven项目,以后会新建Maven的web项目,选择第二个

第一个:

org.apache.maven.archetypes:maven-archetype-archetype

第二个:

org.apache.maven.archetypes:maven-archetype-webapp

选择的时候看清楚就行了

在这里插入图片描述

可能会少一些文件夹,自己手动创建即可

4、创建Maven的web项目

(1-1)Maven

①、创建方法和上面的(1-1)一样,然后在test下创建resources文件夹(新建时会有提示)

在这里插入图片描述

②、接下来可以在main下创建一个空目录webapp,作为web目录

③、选择项目结构在这里插入图片描述

选择模块中的web

在这里插入图片描述

然后按图示操作,然后确定即可
在这里插入图片描述

上面操作之后

在这里插入图片描述

然后,点击左边的工作,然后点击加号选择如图所示

在这里插入图片描述

最后,点击应用即可在这里插入图片描述

如下图就算将web项目的maven就完成了

在这里插入图片描述

注意 : 创建的项目中可能没有 .iml 文件,在项目的根目录下使用终端命令即可创建

mvn idea:module

另外,在配置 tomcat 后仍出现 404 页面,在 .xml 文件中粘贴下面代码即可

  <component name="FacetManager">
      <facet type="web" name="Web">
        <configuration>
          <descriptors>
            <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/web.xml" />
          </descriptors>
          <webroots>
            <root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
          </webroots>
          <sourceRoots>
            <root url="file://$MODULE_DIR$/src/main/resources" />
            <root url="file://$MODULE_DIR$/src/main/java" />
          </sourceRoots>
        </configuration>
      </facet>
    </component>

还有 : 运行之后可能仍是 404 ,则查看自己配置的 tomcat 中的 URL 是否包含了 ” 部署 “ 中 “ 应用上下文 ” 中的内容,如果没有 cv 到 URL 中去

如果还有 404 那你真惨,请移步到别的DL的文章下吧

最后的文件如下:

在这里插入图片描述

(1-2)Maven Archetype(推荐)

注意 Archetype 的选择

在这里插入图片描述

然后点击创建后,即可,最后的文件夹如下:

在这里插入图片描述

如果没有 src/main下的 javaresources文件夹,手动创建即可,会有提示的,如下(都创建即可):

在这里插入图片描述

注意本方法在配置 tomcat 进行修复时,选择带有 exploded的那个就行了

本方法没有.iml文件

5、普通的web项目

Javaweb实训——web项目的创建_新建javaweb项目-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

L48---1637. 两点之间不包含任何点的最宽垂直区域(排序)---Java版

1.题目描述 2.思路 &#xff08;1&#xff09;返回两点之间内部不包含任何点的 最宽垂直区域 的宽度。 我的理解是相邻两个点&#xff0c;按照等差数列那样&#xff0c;后一个数减去相邻的前一个数&#xff0c;才能保证两数之间不含其他数字。 &#xff08;2&#xff09;所以&…

OmniGlue: Generalizable Feature Matching with Foundation Model Guidance

【引用格式】&#xff1a;Jiang H, Karpur A, Cao B, et al. OmniGlue: Generalizable Feature Matching with Foundation Model Guidance[J]. arXiv preprint arXiv:2405.12979, 2024. 【网址】&#xff1a;https://arxiv.org/pdf/2405.12979 【开源代码】&#xff1a;https…

[ue5]建模场景学习笔记(5)——必修内容可交互的地形,交互沙(3)

1.需求分析&#xff1a; 我们现在已经能够让这片地形出现在任意地方&#xff0c;只要角色走在这片地形上&#xff0c;就能够产生痕迹&#xff0c;但这片区域总是需要人工指定&#xff0c;又无法把这片区域无限扩大&#xff08;显存爆炸&#xff09;&#xff0c;因此尝试使角色无…

【数据结构】十二、八种常用的排序算法讲解及代码分享

目录 一、插入排序 1)算法思想 2&#xff09;代码 二、希尔排序 1&#xff09;算法思想 2&#xff09;代码 三、选择排序 1&#xff09;算法思想 2&#xff09;代码 四、堆排序 1&#xff09;什么是最大堆 2&#xff09;如何创建最大堆 3&#xff09;算法思想 4&a…

电脑回收站清空了怎么恢复回来?分享四个好用数据恢复方法

电脑回收站清空了还能恢复回来吗&#xff1f;在使用电脑过程中&#xff0c;很多小伙伴都不重视电脑的回收站,&#xff0c;有用的没用的文件都往里堆积。等空间不够的时候就去一股脑清空回收站。可有时候会发现自己还需要的文件在回收站里&#xff0c;可回收站已经被清空了……那…

单灯双控开关原理

什么是单灯双控&#xff1f;顾名思义&#xff0c;指的是一个灯具可以通过两个不同的开关或控制器进行控制。 例如客厅的主灯可能会设置成单灯双控&#xff0c;一个开关位于门口&#xff0c;另一个位于房间内的另一侧&#xff0c;这样无论你是从门口进入还是从房间内出来&#x…

Meta首席AI科学家Yann LeCun指出生成式AI的不足

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

sqli-labs 靶场 less-11~14 第十一关、第十二关、第十三关、第十四关详解:联合注入、错误注入

SQLi-Labs是一个用于学习和练习SQL注入漏洞的开源应用程序。通过它&#xff0c;我们可以学习如何识别和利用不同类型的SQL注入漏洞&#xff0c;并了解如何修复和防范这些漏洞。Less 11 SQLI DUMB SERIES-11判断注入点 尝试在用户名这个字段实施注入,且试出SQL语句闭合方式为单…

插卡式仪器模块:数字万用表模块(插卡式)

• 6 位数字表显示 • 24 位分辨率 • 250 KSPS 采样率 • 电源和数字 I/O 均采用隔离抗噪技术 • 电压、电流、电阻、电感、电容的高精度测量 • 二极管/三极管测试 通道122输入 阻抗 电压10 MΩHigh-Z, 10 MΩ电流10 Ω50 mΩ / 2 Ω / 2 KΩ输入范围电压 5 V0–60 V电流…

Java桥接模式

桥接模式 最重要的是 将 抽象 与 实现 解耦 , 通过组合 在 抽象 与 实现 之间搭建桥梁 ; 【设计模式】桥接模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )-CSDN博客 桥接模式&#xff08;Bridge Pattern&#xff09;-&#xff08;最通俗易懂的案例&#xff09;_桥接模式 例子-…

SpringAI(二)

大模型:具有大规模参数和复杂计算结构的机器学习模型.通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数.其设计目的在于提高模型的表达能力和预测性能,应对复杂的任务和数据. SpringAI是一个AI工程领域的应用程序框架 大概推出时间是2023年7月份(不确定) 目的是将S…

Java 期末复习 习题集

&#x1f496; 单选题 &#x1f496; 填空题 &#x1f496; 判断题 &#x1f496; 程序阅读题 1. 读代码写结果 class A {int m 5;void zengA(int x){m m x;}int jianA(int y){return m - y;} }class B extends A {int m 3;int jianA(int z){return super.jianA(z) m;} …

【阿里YYDS】通义千问正式开源 Qwen2

Qwen2–72B正式开源&#xff0c;性能全面超越开源模型Llama3-70B&#xff0c;也超过文心4.0、豆包pro、混元pro等众多中国闭源大模型。 在过去一段时间里&#xff0c;Qwen系列模型从Qwen1.5升级到Qwen2&#xff0c;Qwen2分5个尺寸&#xff0c;包括Qwen2-0.5B、Qwen2-1.5B、Qwen…

RabbitMQ-topic exchange使用方法

RabbitMQ-默认读、写方式介绍 RabbitMQ-发布/订阅模式 RabbitMQ-直连交换机(direct)使用方法 目录 1、概述 2、topic交换机使用方法 2.1 适用场景 2.2 解决方案 3、代码实现 3.1 源代码实现 3.2 运行记录 4、小结 1、概述 topic 交换机是比直连交换机功能更加强大的…

CopyOnWriteArrayList详解

目录 CopyOnWriteArrayList详解1、CopyOnWriteArrayList简介2、如何理解"写时复制"3、CopyOnWriteArrayList的继承体系4、CopyOnWriteArrayList的构造函数5、CopyOnWriteArrayList的使用示例6、CopyOnWriteArrayList 的 add方法7、CopyOnWriteArrayList弱一致性的体现…

【BUG】已解决:ModuleNotFoundError: No module named ‘transformers‘

已解决&#xff1a;ModuleNotFoundError: No module named ‘transformers‘ 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司…

Element-UI入门

目录 1.什么是Element-UI 2.作用 3.版本历史 4.优缺点 4.1.优点 4.2.缺点 5.应用场景 6.代码示例 7.未来展望 8.总结 1.什么是Element-UI Element-UI 是由饿了么前端团队开发的一套基于 Vue.js 的桌面端组件库。提供了一整套 UI 组件&#xff0c;使开发者能够快速构…

非线性模型预测控制NMPC例子

NMPC概述 非线性模型预测控制(Nonlinear Model Predictive Control, NMPC)是一种用于控制非线性系统的高级控制策略。与线性MPC不同,NMPC需要处理系统的非线性特性,这使得优化问题更加复杂。NMPC通常使用迭代优化算法来求解非线性优化问题 NMPC基本原理 NMPC的目标是最小…

社交“学习伙伴”:Meta Llama助力对话升级

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

程序猿大战Python——pycharm软件的使用

基础配置 目标&#xff1a;了解PyCharm软件的基础配置处理。 修改背景颜色&#xff1a; Appearance -> Theme 修改字体大小&#xff1a; 搜索font -> Font 例如&#xff0c;一起完成背景、字体大小的修改。 总结&#xff1a; &#xff08;1&#xff09;如果要对PyChar…