如何在Eclipse中使用Maven?
定制New菜单的透视图
修改Maven创建工程的JDK版本
这里还需要解决三个问题:
①在Eclipse中创建Maven版的Java工程
②在Eclipse中创建Maven版的Web工程
③在Eclipse中执行Maven命令
1.定制New菜单的透视图
- 若在Eclipse中使用右键New一个新的工程时,没有出现Maven Project。可自己定制一下:
- 依次选择:Window→Perspective→Customize Perspective→Menu Visibility:
- 再依次打开 File→New,找到里面的 Maven Project 并打上勾:
2.创建Maven版的Java工程
- ①在Eclipse的 Package Explorer(或其他)中,右键→New→Maven Project:
- 注意:忽略类型选择,创建一个简单的工程。
- 当然,也可以不忽略类型,使用“类型”:maven-archetype-quickstart 来创建简单的Java工程,但这样创建的项目结构不太符合Maven的约定结构,没有resources包,可以自己试一下。
- ②输入Maven工程的坐标(GAV):
- ③项目的结构和Maven约定结构一样,如下图:
- 注意有一个严重的问题:这样使用Maven创建的工程是 JDK1.5 版本。
- 当然,这样也能够使用,但是不能支持一些新的 JDK 特性。可以修改,点击参看。
3.修改Maven创建工程的JDK版本
1)修改Eclipse设置
在当前项目上,依次:右键单击→Properties,打开项目属性进行修改。
注意:这样修改的话,每次新建的Maven项目都需要修改。
需要修改项目工程属性的如下三个地方:
- ①Java Build Path
- ②Java Compiler
- ③Project Facets
- ①修改Java Build Path
- ②修改Java Compiler
- ③Project Facets,没显示内容的,点击:**Convert to faceted from …**即可显示:
2)修改Maven配置——一劳永逸
- ①找到Maven 的settings.xml配置文件
- ②找到 profiles 标签
- ③加入如下配置:
- 注意:配置时,需要看看Maven核心程序版本是否支持你的JDK版本。
1 | <profile> |
4.在Eclipse中执行Maven命令
- ①找到项目的pom.xml文件,在上面右键单击:
- ②依次选中:Run as→Maven xxx 命令
- 这里的Maven命令,有:Maven clean、Maven test、Maven install等
- 可以依次选中:Run as→Maven build… 命令来添加Maven命令,如下:
5.创建Maven版的Web工程
- ①在Eclipse的 Package Explorer(或其他)中,右键→New→Maven Project:
- 注意:忽略类型选择,创建一个简单的工程。
- 当然,也可以不忽略类型,使用“类型”:maven-archetype-webapp 来创建 Web 工程。但这样创建的项目结构不太符合Maven的约定结构,没有resources包,可以自己试一下。
- ②输入Maven工程的坐标(GAV):
- 注意:要选择打包方式为 war 形式,这可以说是 Maven 来区别普通 Java 工程和Web 工程的地方。
- 创建完后,WebProject结构如下图:
- 存在两个问题:目录结构不完整;pom.xml文件可能有报错。
- ③构建完整的Web工程:
- 在当前Web工程上右键单击,选择项目属性 Properties→Project Facets
- 其中,动态Web工程的高级配置如下:
- 若做完这些配置项目还有错或有警告,再次配置一下 Properties→Project Facets 即可。
- ④注意,此时,这个Web工程还不是很完整,因为缺少 Servlet 的运行时环境。
- 添加 Servlet 的运行时环境,有两种方法:在Eclipse中添加;使用 Maven 添加运行Servlet的api依赖。
- A.直接在Eclipse中添加 Servlet 运行时环境:
- 在当前Web工程上右键单击,选择项目属性 Properties→Targeted Runtimes
-
B.使用 Maven 添加运行Servlet的api依赖:
-
回顾一下provided范围的依赖:
- provided范围的依赖:
- 对主程序、测试程序有效
- 不参与打包和部署,例如:servlet-api.jar
- 一般用于 Maven 的 Web 工程,具体使用可参照下图:
- 在pom.xml的dependencies节点中添加如下配置:
1 | <dependency> |
- 若是在JSP页面中使用EL表达式的 pageContext 点 有提示,需要加入 jsp-api 的依赖:
1 | <dependency> |
- 注意:依赖作用范围的设置,有时设置错误,可能会出现一些难以预料的错误,就像下边的: