Maven学习——创建Maven的Java和Web工程,并运行在Tomcat上

一、Maven介绍

Maven 是一款为 Java 项目管理构建、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。

二、Maven安装步骤

1.下载后解压到没有空格、特殊字符和中文的目录中

2.配置环境变量

3.查看版本

4.配置conf/settings.xml文件

4.1依赖本地缓存位置(本地仓库位置)

XML 复制代码
<!-- conf/settings.xml 55行 -->
<localRepository>D:\apache-maven-3.8.1\repository</localRepository>

4.2配置国内阿里镜像

XML 复制代码
<!--在mirrors节点(标签)下添加中央仓库镜像 160行附近-->
<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

4.3配置jdk版本项目构建

XML 复制代码
<!--在profiles节点(标签)下添加jdk编译版本 268行附近-->
<profile>
		<id>jdk11</id>
		<activation>
			<activeByDefault>true</activeByDefault>
				<jdk>11</jdk>
			</activation>
		<properties>
			<maven.compiler.source>11</maven.compiler.source>
			<maven.compiler.target>11</maven.compiler.target>
			<maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
			<maven.compiler.encoding>utf-8</maven.compiler.encoding>
		</properties>
</profile>

5.IDEA配置本地Maven软件

注意

  1. 如果本地仓库地址不变化,只有一个原因,就是maven/conf/settings.xml配置文件编写错误!仔细检查即可!
  2. 一定保证User settings file对应之前修改的settings.xml的路径,若 不一致,选中Override复选框,手动选择配置文件。

三、基于IDEA创建Maven工程

1. 概念梳理Maven工程的GAVP

Maven工程相对之前的项目,多出一组gavp属性,gav需要我们在创建项目的时候指定,p有默认值,我们先行了解下这组属性的含义:

Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,其中前三个是必要的,而 Packaging 属性为可选项。这四个属性主要为每个项目在maven仓库中做一个标识,类似人的姓-名!有了具体标识,方便后期项目之间相互引用依赖等。

GAV遵循一下规则:

1) GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。

说明:{公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一级;子业务线可选。

正例:com.taobao.tddl 或 com.alibaba.sourcing.multilang

2) ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下。

正例:tc-client / uic-api / tair-tool / bookstore

3) Version版本号格式推荐:主版本号.次版本号.修订号

1) 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。

2) 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。

3) 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。

例如: 初始→1.0.0 修改bug → 1.0.1 功能调整 → 1.1.1等

Packaging定义规则:

指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!

packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。

packaging 属性为 war,代表Java的web工程,打包以后.war结尾的文件。

packaging 属性为 pom,代表不会打包,用来做继承的父工程。

2.IDEA构建Maven Java SE工程

3.IDEA构建Maven Java Web工程

参考文章:IDEA2022版本创建maven web项目(两种方式)

3.1方式一:将普通Maven Java SE工程改为Maven Java Web工程

上面还是一个普通的Maven Java SE工程,要将其改为Maven Java Web工程,将当前工程的打包方式设置为war包:

修改项目结构:

此时,普通的Maven Java SE工程,就成功改为Maven Java Web工程了!

3.2方式二:使用插件JBLJavaToWeb创建

安装插件JBLJavaToWeb

file / settings / plugins / marketplace

​编辑

创建新的java maven工程:

右键,点击JBLJavaToWeb

如果不显示webapp,刷新一下:

3.3方式三: 使用IDEA自带的骨架

刷新maven:

可能会缺少java源文件,手动创建即可

4.Maven工程项目结构说明

Maven 是一个强大的构建工具,它提供一种标准化的项目结构,可以帮助开发者更容易地管理项目的依赖、构建、测试和发布等任务。以下是 Maven Web 程序的文件结构及每个文件的作用:

XML 复制代码
|-- pom.xml                               # Maven 项目管理文件 
|-- src
    |-- main                              # 项目主要代码
    |   |-- java                          # Java 源代码目录
    |   |   `-- com/example/myapp         # 开发者代码主目录
    |   |       |-- controller            # 存放 Controller 层代码的目录
    |   |       |-- service               # 存放 Service 层代码的目录
    |   |       |-- dao                   # 存放 DAO 层代码的目录
    |   |       `-- model                 # 存放数据模型的目录
    |   |-- resources                     # 资源目录,存放配置文件、静态资源等
    |   |   |-- log4j.properties          # 日志配置文件
    |   |   |-- spring-mybatis.xml        # Spring Mybatis 配置文件
    |   |   `-- static                    # 存放静态资源的目录
    |   |       |-- css                   # 存放 CSS 文件的目录
    |   |       |-- js                    # 存放 JavaScript 文件的目录
    |   |       `-- images                # 存放图片资源的目录
    |   `-- webapp                        # 存放 WEB 相关配置和资源
    |       |-- WEB-INF                   # 存放 WEB 应用配置文件
    |       |   |-- web.xml               # Web 应用的部署描述文件
    |       |   `-- classes               # 存放编译后的 class 文件
    |       `-- index.html                # Web 应用入口页面
    `-- test                              # 项目测试代码
        |-- java                          # 单元测试目录
        `-- resources                     # 测试资源目录
  • pom.xml:Maven 项目管理文件,用于描述项目的依赖和构建配置等信息。

  • src/main/java:存放项目的 Java 源代码。

  • src/main/resources:存放项目的资源文件,如配置文件、静态资源等。

  • src/main/webapp/WEB-INF:存放 Web 应用的配置文件。

  • src/main/webapp/index.jsp:Web 应用的入口页面。

  • src/test/java:存放项目的测试代码。

  • src/test/resources:存放测试相关的资源文件,如测试配置文件等。

四、将Maven的Web工程部署到Tomcat中

新增一个index.html

配置Tomcat

点击debug启动,Tomcat启动成功!

相关推荐
神仙别闹11 分钟前
基于java的改良版超级玛丽小游戏
java
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭35 分钟前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫1 小时前
泛型(2)
java
超爱吃士力架1 小时前
邀请逻辑
java·linux·后端
南宫生1 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
转码的小石1 小时前
12/21java基础
java
李小白661 小时前
Spring MVC(上)
java·spring·mvc
GoodStudyAndDayDayUp1 小时前
IDEA能够从mapper跳转到xml的插件
xml·java·intellij-idea
装不满的克莱因瓶2 小时前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
n北斗2 小时前
常用类晨考day15
java