在Eclipse中使用maven创建web项目

        之前用maven开发过项目,但长时间不用都forget了。如今又有一个maven的好差事,创建maven项目的时候遇到很多坑,所以现在决定总结总结,以备不时之需,亦或帮助他人少走弯路。

先约定几个条件如下:
    • 系统中安装了Eclipse(那还用说....)
    • 装了maven并配了Eclipse(见上篇《文章》)
    • 示例使用jdk 1.7,web 3.0,tomcat 7


1. 先来创建一个maven web项目

(1)右键New→Other→Maven→Maven Project



(2)点击Next→Next→选择maven-archetype-webapp→Next,如图所示,注意不要眨眼睛...


注意:
不要勾选Create a simple project选项,勾选后将会跳过选择构建模板(骨架)的步骤,创建一个普通的maven java项目。

(3)填写项目信息,如图所示:



(4)点击Finish,项目结构如图所示:



好,接下来就给项目进行一些填坑配置。

2. 把Build Path里面默认的J2SE-1.5的类库删除,添加本机1.7的类库,同时添加web容器运行时类库(即Server Runtime)


此时的项目结构如下,且已不报错:



3. 将java编译器(Java Compiler)版本修改为1.7



4. 打开pom.xml文件,在build标签下加入如下配置,并进行项目右键→Maven→Update Project操作(pom.xml文件有更新,必须进行此操作)

<plugins>
	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-compiler-plugin</artifactId>
		<configuration>
			<source>1.7</source>
			<target>1.7</target>
		</configuration>
	</plugin>
</plugins>


注意:
        该步骤的目的是为了在使用maven→update project时,防止maven自动修改为其默认的jdk1.5类库和java compiler1.5,这跟maven的版本没关系,是maven的特性。

5. 修改项目Project Facets的设置,将java设置为1.7,Dynamic Web Module 设置为3.0



        可以看到,将web 版本设置为3.0 的时候报出了错误,这是因为我们创建项目时使用的骨架是maven-artchetype-webapp,由于这个catalog比较老,默认的servlet版本还是2.3,所以修改web版本时出现了错误。请先跳过此步,看下一步骤。

6. 为了防止修改web版本时出现错误,需要手动进行修改配置,在Navigator视图下,把.settings文件夹下的.xml文件中的<installed facet="jst.web" version="2.3"/>改为3.0。





保存之后,再次进行第5步操作(其实已经改好了),此时将不再报错。若仍然不能解决问题,请参考这里:戳我戳我 

7. 修改web.xml文件的schema声明如下(将默认的2.3改为3.0)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">
	
	<display-name>Archetype Created Web Application</display-name>
	
</web-app>
8. 最后,来测试下刚创建的maven web项目是否能正常运行



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值