IDEA创建Maven工程,不存在webapp目录的问题及解决方法
程序员文章站
2024-03-19 18:53:22
...
(1)创建 Maven工程
- 创建步骤如下:
-
【file】→【new】→【project】→【Maven】→项目名、Maven工程坐标(创建 Maven 工程)
-
Maven工程目录结构:
问题:不存在 webapp 目录,如何解决?
- 原因:刚刚创建的是普通Maven工程
- 解决:创建 Maven-Web 工程
(2)创建 Maven-Web工程
创建步骤如下:
-
先创建普通的Maven工程
-不使用【create from archetype】 -
在Maven工程的 pom.xml文件中,指定< packaging >标签值为 War类型
<?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>com.idea.maven</groupId>
<artifactId>WebMavenPro</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
</project>
- 查看本项目的 【Project Structure…】/ 或右击项目【Open Module Settings】
- 在Modules模块中,右击本项目名,增加web服务配置
-
设置 webapp 根目录和web.xml文件所在位置
- 【Deployment Descriptors】指定xml文件位置
- 【Web Resource Directories】指定 webapp目录位置
-
成功创建 webapp 目录和 web.xml 配置文件
注意:Maven-Web工程:默认的webroot是在 src\main\webapp下(推荐)
-
可修改:webroot 存放在 单独的 webapp 目录下
-
修改后,在默认位置找不到web.xml就抛出 webxml异常
-
解决:在 pom.xml 中添加 配置,即可正常打 War包等操作
<build> <finalName>simple-webapp</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <webXml>WebContent\WEB-INF\web.xml</webXml> </configuration> </plugin> </plugins> </build>
(3)在服务器上部署运行 Maven工程
1. 打 War包,服务器运行项目
- 运行 Maven 的 package 打War 包命令到 target文件夹下生成对应War包
- 将 War包 复制到 Tomcat服务器目录下的 webapps中
- CMD命令行开启 Tomcat服务器,自动将 War包解压部署,通过浏览器即可访问工程
2. 配置 Web工程的 Tomcat服务器
- 配置 Tomcat服务器,运行项目
– Tomcat Server → 正确配置服务器 → Deployment中选择【artifact】→【项目名:war exploded 】 - 配置完成,Maven提示框内多出【项目名 Maven Webapp】,部署成功
- 开启服务器,根据配置的访问地址,即可在浏览器中访问该 Maven工程的资源
注意:在服务器部署后,编译部署的文件存放在目录生成的 target文件夹中