Maven学习笔记—使用Eclipse插件创建Java WebApp项目


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

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

 

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

 

 
填写项目相关信息,Finish。
 

 

建好的工程结构如下图:
 
 
可以看到,web资源文件的目录为 arc/main/webapp
 
第二步:修改JRE版本。
 
项目生成后,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 .↓↓↓
 

 

 
更新之后,发现项目还存在错误。
在项目根目录右击弹出菜单,选择 Build Path ->Configure Buile Path,进入项目的 Java build path 配置页面:
所示错误如下图,提示缺少(missing)两个文件夹。但其实文件夹是存在的。
 

 这时只要将 Libraries 标签中的 JRE System Library 设置为本机默认的就可以解决该错误(不知道为什么会这样)

如下图,查看 Libraries 标签↓↓↓
 
 

 双击 JRE System Library 项,弹出 JRE 设置界面:↓↓↓

 

 

 直接选 Workspace default JRE.
 
完成后,发现项目还有三个报错,如下图所示。别急,我们在接下来的步骤中一个一个解决。
 
 

 

 第三步:添加服务器运行环境(Server Runtime)
 
项目中,index.jsp 显示有错误,错误信息为:
 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
 
这时因为缺少了servlet-api、JSP-API、JSTL等包。
我们不需要一个一个把包导进来,因为 Tomcat 等 Servlet 容器都提供了这个包。在 Eclipse 中对项目设置一下运行环境就可以了。
切换到 Libraries 标签,点击“Add Library”按钮。
 
 

 在弹出的对话框中,选择“Server Runtime”。

 

 选择 Tomcat 服务器。如果这里没有服务器配置,请事先配置一个 Tomcat 等服务器。

(不知道如何配置服务器的话,就用搜索引擎搜一番)。

 

 选中 Tomcat,点击 Finish 后,看到工程已经不再有那两个 Servlet 的报错了。

 
第四步:Project Facet 配置
 
到这一步时,项目应该还有一处错误:
Java compiler level does not match the version of the installed java project facet.
如下图所示:
 

  

我们需要通过修改 Project Facets 来解决这个错误。

打开项目的 Project Facet 置项,如下图,将 Java 的版本设置为 1.7,确定。
如果这时已经时1.7了,则无需修改。
(也不是一定需要1.7,基本上和之前步骤配置的 JRE 版本一致即可)
 
 

 

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

 

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

 

这时项目应该已经配置到服务器中了:

 

 

 点击 Finish,运行成功后打开链接:
http://localhost:8080/hello-maven-web/index.jsp
发现浏览器报404错误。
检查项目的部署配置:
 

 

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

 

 

重新运行一次,终于看到 Hello World!
 

 最后,我也不知道为什么,似乎很简单的事情,会变得如此复杂。

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告