首页 > 代码库 > Maven学习笔记-使用Eclipse插件创建Java Webapp项目

Maven学习笔记-使用Eclipse插件创建Java Webapp项目

使用Java的猿们,最多接触的大概就是web项目了吧?在学习Maven的过程中,首先当然就是创建一个webapp项目。

自己在尝试的过程中,碰到了很多的问题。我把详细的过程都记录下来,用以今后参考。

 

步骤:
如果未搭建好Maven开发环境,请参考前一篇:Maven学习笔记——环境搭建
打开Eclipse, 菜单栏选择File -> new -> other,在弹出的对话框中找到Maven Project.
在弹出的新建Maven项目的对话框中,不要勾选第一项“Create a simple project”,如下图所示,点击Next。
技术分享
 
在列表中找到并选择“maven-archetype-webapp”,点击Next.如下图所示:
 
技术分享

 

 
技术分享
填写项目相关信息,Finish。
技术分享

 

建好的工程结构如下图:
技术分享

 技术分享

项目生成后,JRE版本默认为1.5 ,我们需要修改成更高版本的:
 
在项目的POM.xml文件中,加入如下配置:
  <build>
  <plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.1</version>
  <configuration>
  <source>1.7</source>
  <target>1.7</target>
  </configuration>
  </plugin>
  </plugins>
  </build>

(也可以通过修改settings.xml全局配置以让maven默认设置特定版本的JRE,具体方法这里先不写了)

设置完后,选中项目右击,弹出的菜单中选择Maven->Update Project .
技术分享

 

 
技术分享
进入项目的java build path配置页面:
技术分享

 

技术分享
发现项目还存在如下图所示错误:
技术分享
 技术分享

 

 
这时只要将Library标签中的JRE System Library设置为本机默认的就可以了(不知道为什么会这样)
技术分享
 技术分享

 

双击JRE System Library项,弹出JRE设置界面:
 技术分享

 

技术分享
 
直接选 workspace default jre.
 
完成后,发现项目还有三个报错,如下图所示。别急,我们一个一个解决。
 技术分享

 

 
技术分享
 
 
项目中,index.jsp显示有错误,错误信息为:
 
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
 
这时因为缺少了servlet-api、JSP-API、JSTL等包。我们不需要一个一个把包导进来,因为Tomcat等servlet容器都提供了这个包。在Eclipse中对项目设置一下运行环境就可以了:
技术分享
 

 

技术分享
 
 技术分享

 

技术分享
 技术分享

 

技术分享
 技术分享

 

如果这里没有服务器配置,请事先配置一个tomcat等服务器。
选中tomcat,点击finish后,看到工程已经不再有那两个servlet的报错了。
还剩下一错误:java compiler level does not match the version of the installed java project facet.
 技术分享

 

 
技术分享
 
打开项目的Project Facet设置项,如下图,将java的版本设置为1.7,确定。
 
 技术分享

 

技术分享
 
现在应该不再报错了。
但是我们还需要将Project Facet中的Dynamic web module的版本设置的更高一些。
如下图所示,我将它设置为3.0版本。
技术分享
 技术分享

 

这时可能会报如下的错误:
 
Cannot change version of project facet Dynamic Web Module to 3.0
 
我在网上找了好多信息,发现所有的解决方法完全没有效果。
但是偶然的,我发现一个简单的方法就能解决这个问题(不知道是通用的还是我自己环境中的特例)。
方法如下:
将Dynamic Web Module前的勾取消,点击Apply。然后再把勾给勾上,发现已经不报错了。
 
设置完毕,运行一下试试:
技术分享
 技术分享

技术分享

 

技术分享
 技术分享

 

 
技术分享
 
运行后打开链接:
http://localhost:8080/hello-maven-web/index.jsp
发现浏览器报404错误。
检查项目的部署配置:
技术分享
 技术分享

 

 
发现少了webapp这个目录部署路径。
点击“Add”,弹出的对话框中选择“folder”,选中webapp文件夹:
技术分享

 

技术分享
点击finish就行了。
重新运行一次,终于看到Hello World!
技术分享

 

技术分享

Maven学习笔记-使用Eclipse插件创建Java Webapp项目