JavaWeb学习打卡05(在IDEA中创建并使用MavenWeb项目详解、POM.XML文件)

创建MavenWeb项目

  1. 启动Idea
  2. 创建MavenWeb项目(以下为IDEA 19版演示),如图

等待项目初始化完成,随后点自动导入包:

Maven在Idea 中配置:

进入Settings:

注意:IDEA项目创建成功后,要看一眼Maven的配置,避免IDEA将Maven的配置改为它默认的
项目文件夹解析:

IDEA中标记文件夹功能的使用:

在IDEA中配置Tomcat:

解决警告问题

必须要的配置:为什么会有(上图)这个警告问题呢?是因为我们访问一个网站,需要指定一个文件夹名字(eg:webapps),必须手动进行配置;

启动Tomcat

解决IDEA 2024版中,没有web文件夹显示问题,创建Mavenweb项目:

创建好之后,我们发现项目中没有出现 webapps文件夹,我们接下来进行手动配置web框架:


Maven侧边栏的使用:

POM文件

pom.xml 是Maven的核心配置文件

XML 复制代码
	<!-- package :项目的打包方式
		jar:java应用
		war:javaweb应用
		-->
	<!--配置 -->
    <properties>
		<!--编码版本 -->
        <maven.compiler.source>22</maven.compiler.source>
        <maven.compiler.target>22</maven.compiler.target>
		<!--项目的默认构造编码 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <!--添加内容: 添加依赖java包-->
    <!--Maven的高级之处在于,它会帮你导入这个JAR包所依赖的其他的jar包-->
    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.21</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.30</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
<!--            <version>5.1.40</version>-->
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.7.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

maven由于它的约定大于配置,我们之后可能遇到我们写的配置文件,无法被导出或者生效问题,解决方案(在pom.xml文件中):

XML 复制代码
    <!--在build中配置resources,来防止我们的资源导出失败的问题 -->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
相关推荐
m4Rk_4 分钟前
【论文阅读】Agent 记忆机制(41):Agentic Plan Caching——将历史执行轨迹转化为可复用的计划记忆
论文阅读·人工智能·学习·开源·github
woshihuanglaoshi8 分钟前
错题四科入库:鸿蒙错题本种子数据与复习队列效果
学习·华为·harmonyos·鸿蒙
hsjiasb23 分钟前
FreeRTOS学习(二十九)——低功耗Tickless Idle
学习·学习笔记·freertos
蒸蒸yyyyzwd1 小时前
后端面经学习笔记
笔记·学习
lucky_syq2 小时前
专栏目录与学习路线 | 48 篇正文导览
人工智能·学习
小心亦新2 小时前
STM32学习23--I2C-1
stm32·嵌入式硬件·学习
red_redemption3 小时前
自由学习记录(217)
学习
LYS_06183 小时前
Python学习(3)(数据类型小尾巴,条件控制,循环语句)
学习
迪丽热爱3 小时前
每日英语-12
学习
PC2005-cloud3 小时前
Elasticsearch 学习笔记:集群实战(3 控制节点 + 3 数据节点部署与故障转移)
笔记·学习·elasticsearch