Marco's Java【Maven入门(三) 之 Eclipse下创建Maven的WEB项目及创建后常见问题的解决方案】

前言

之前我们一直讲到的都是Maven的普通JavaSE项目的创建,本节我们就来着重讲解Maven的Web项目创建以及可能遇到的一些问题和解决方案。

创建Maven的WEB项目

创建Maven的Web项目和我们之前的操作就有点区别啦,创建项目的方式也不一样,并且我们在日常的Web开发中也不再会去使用之前的那种简单粗暴的方式。
说了这么多,大家可以跟着我们先来创建一个Maven的Web项目练手。

首先New一个Maven Project
在这里插入图片描述
选择Next之后点击maven-archetype-webapp
在这里插入图片描述
紧接着我们会进入下面的界面,依次输入组织名称,项目名称和版本号,其他的不用变
在这里插入图片描述

解决Maven的Web项目创建后的常见报错问题

好,上面的步骤走完,我们来看…欸?报错了,是不是上面的那个步骤有问题?
在这里插入图片描述
明确的告诉各位,上面步骤没有问题,我们来看到底是哪里出错了。
顺着红叉的轨迹,我们优先找到src文件夹,我们发现这个目录结构好像跟之前的不太一样?之前的目录是长这个样子。
在这里插入图片描述
但是现在只有一个resources目录,其他的都不显示,那么我们的第一个问题就是为什么上面的目录不显示?
在这里插入图片描述

解决src test/src不显示的问题
出现上面的问题,主要就是jdk路径的问题,大家照着下面的步骤修改就可以啦
在这里插入图片描述
记得勾选上Workspace default JRE(jdk1.8.0_101)
在这里插入图片描述

解决jsp报错的问题

jsp报错,本质上是没有导servlet 和jsp的包,因为我们新建Maven项目的时候,这些包是不会自动导入的,那么就需要我们自行配置导入了,大家接着往下看。

<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.marco</groupId>
	<artifactId>web</artifactId>
	<packaging>war</packaging>
	<version>1.0</version>
	<!-- 声明版本 -->
	<properties>
		<servlet.version>3.1.0</servlet.version>
		<jsp.version>2.3.1</jsp.version>
	</properties>

	<dependencies>
		<!--servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>${servlet.version}</version>
			<scope>provided</scope>
		</dependency>
		<!-- javax.servlet.jsp -->
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>javax.servlet.jsp-api</artifactId>
			<version>${jsp.version}</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
	<build>
		<finalName>web</finalName>
	</build>
</project>

我们往xml中填充上面的配置,就相当于导入servlet和jsp的jar包,Maven首先回去本地仓库Repository去查找jar包,如果没有就回去远程的仓库去下载
在这里插入图片描述
大家可以点开Maven Dependencies查看jar包是否下载全,如果下载全了,F5刷新一下项目jsp就不会报错啦

解决web.xml使用的javaee版本低的问题
点开web.xml之后发现web的版本号是2.3,因为3.0以下的版本都不能使用注解,因此我们需要调整web.xml的版本
在这里插入图片描述
点开项目的Propeties之后,选择Project Facets之后,去掉Dynamic Web Module的勾勾,然后点击Apply吗,再次勾上Dynamic Web Module的勾勾,在Version处选择Web的版本号为3.0或者3.1
在这里插入图片描述
点击之后先不要慌着点Apply,我们会发现下方会出现一个Further configuration available,我们点进去
在这里插入图片描述
然后将Content directory修改成src/main/webapp,为什么要这么修改呢?大家想想我们之前的web项目这里填写的是什么?是WebRoot对吧,这里的src/main/webapp就相当于WebRoot根目录,这么说大家应该明白了吧~
在这里插入图片描述
修改完成之后,我们web版本号就正常啦
在这里插入图片描述

使用插件运行Maven项目

接下来我们试着运行一下看我们的web项目是否可以跑起来
第一步:修改pom.xml
我们先点开pom.xml添加tomcat运行插件配置

<build>
	<finalName>web</finalName>
	<plugins>
		<!-- 加入tomcat运行插件 -->
		<plugin>
			<groupId>org.apache.tomcat.maven</groupId>
			<artifactId>tomcat7-maven-plugin</artifactId>
			<version>2.2</version>
			<configuration>
				<uriEncoding>UTF-8</uriEncoding> <!--解决页面提交数据乱码问题 -->
				<port>8080</port><!-- tomcat插件的请求端口 -->
				<path>/marco</path><!-- 项目的请求路径 -->
			</configuration>
		</plugin>
	</plugins>
</build>

第二步:运行项目
在这里插入图片描述
弹出框的三个部分需要我们修改,中间的${workspace_loc:/carrent_plus}部分点击workspace选择你需要运行的项目就可以啦,Goals这里就固定按照tomcat7:run这种方式写
在这里插入图片描述
如果最终的运行结果是这样的就代表配置成功啦
在这里插入图片描述


既然都已经就解决了好几个问题了,那我不妨再提一提后续项目运行可能出现的问题,这样大家后续如果出现类似的问题翻到我这篇博文也能够顺利解决啦~
解决Cannot change version of project facet Dynamic web module to 3.0
可能后续大家还会碰到上面这样的问题,所以在这里我就一起说啦~
如果后续运行项目出现这种问题,我们打开项目所在目录下的.settings文件夹
在这里插入图片描述
找到org.eclipse.wst.common.project.facet.core.xml
在这里插入图片描述
<installed facet="java" version="1.5"/>改成<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="2.3"/>改成<installed facet="jst.web" version="3.0"/>
接着打开存放依赖的pom.xml文件,因为我们的jdk运行环境可能会存在差异,一般项目跑起来是没有问题的,但是如果jdk的版本和当前的Maven运行环境不匹配,也会出现项目跑不起来的问题,那么解决方案就是在pom.xml中添加如下配置

<!-- 指定当前项目的jdk版本 -->
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.7.0</version>
	<configuration>
		<!-- 指定source和target的版本 -->
		<source>1.8</source>
		<target>1.8</target>
	</configuration>
</plugin>

这样就没有问题啦~

解决jar包下载不全的问题
这个问题还是出现的比较频繁的,一般出现这种问题的原因都是网络环境不好,导致远程下载的包不齐全,不过也就仅仅限于我们第一次下载会遇到,那么一旦我们程序运行的时候出现了xxx jar not found 但是你确确实实在pom.xml中配置的情况时,就务必按照我们的步骤去操作,十有八九是jar包没有下载完全导致的。

打个比方,如果运行的时候控制反馈spring-jdbc has not found 的时候
在这里插入图片描述
我们右击properties,进到下面这个页面,找到这个jar包下载的路径
在这里插入图片描述
将下载的路径D:/DevTools/server/Repository/org/springframework/spring-jdbc/4.3.24.RELEASE/复制
在这里插入图片描述运行之后我们如果发现jar包下载的不对,比如说出现一长串你不认识的jar包的名字,那么我们回到上一级,然后删除这个目录
在这里插入图片描述
回到Eclipse中之后,右击Maven中的Update Project
在这里插入图片描述
接着勾选上Force Update of Snapshots/Releases之后点击Ok就可以啦
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值