如何在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 并打上勾:

maven_05_01

2.创建Maven版的Java工程

  • ①在Eclipse的 Package Explorer(或其他)中,右键→New→Maven Project:
  • 注意:忽略类型选择,创建一个简单的工程。
  • 当然,也可以不忽略类型,使用“类型”:maven-archetype-quickstart 来创建简单的Java工程,但这样创建的项目结构不太符合Maven的约定结构,没有resources包,可以自己试一下。

maven_05_02

  • ②输入Maven工程的坐标(GAV):

maven_05_03

  • ③项目的结构和Maven约定结构一样,如下图:
  • 注意有一个严重的问题:这样使用Maven创建的工程是 JDK1.5 版本。
  • 当然,这样也能够使用,但是不能支持一些新的 JDK 特性。可以修改,点击参看

maven_05_04


3.修改Maven创建工程的JDK版本

1)修改Eclipse设置

  在当前项目上,依次:右键单击→Properties,打开项目属性进行修改。

注意:这样修改的话,每次新建的Maven项目都需要修改。

需要修改项目工程属性的如下三个地方:

  • ①Java Build Path
  • ②Java Compiler
  • ③Project Facets
  • ①修改Java Build Path

maven_05_05

  • ②修改Java Compiler

maven_05_06

  • ③Project Facets,没显示内容的,点击:**Convert to faceted from …**即可显示:

maven_05_07

2)修改Maven配置——一劳永逸

  • ①找到Maven 的settings.xml配置文件
  • ②找到 profiles 标签
  • ③加入如下配置:
  • 注意:配置时,需要看看Maven核心程序版本是否支持你的JDK版本。
1
2
3
4
5
6
7
8
9
10
11
12
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>

4.在Eclipse中执行Maven命令

  • ①找到项目的pom.xml文件,在上面右键单击:
  • ②依次选中:Run as→Maven xxx 命令
  • 这里的Maven命令,有:Maven clean、Maven test、Maven install等

maven_05_08

  • 可以依次选中:Run as→Maven build… 命令来添加Maven命令,如下:

maven_05_09


5.创建Maven版的Web工程

  • ①在Eclipse的 Package Explorer(或其他)中,右键→New→Maven Project:
  • 注意:忽略类型选择,创建一个简单的工程。
  • 当然,也可以不忽略类型,使用“类型”:maven-archetype-webapp 来创建 Web 工程。但这样创建的项目结构不太符合Maven的约定结构,没有resources包,可以自己试一下。

maven_05_02

  • ②输入Maven工程的坐标(GAV):
  • 注意:要选择打包方式为 war 形式,这可以说是 Maven 来区别普通 Java 工程和Web 工程的地方。

maven_05_10

  • 创建完后,WebProject结构如下图:
  • 存在两个问题:目录结构不完整;pom.xml文件可能有报错。

maven_05_11

  • ③构建完整的Web工程:
  • 在当前Web工程上右键单击,选择项目属性 Properties→Project Facets

maven_05_12

  • 其中,动态Web工程的高级配置如下:

maven_05_13

  • 若做完这些配置项目还有错或有警告,再次配置一下 Properties→Project Facets 即可。
  • ④注意,此时,这个Web工程还不是很完整,因为缺少 Servlet 的运行时环境。
  • 添加 Servlet 的运行时环境,有两种方法:在Eclipse中添加;使用 Maven 添加运行Servlet的api依赖。
  • A.直接在Eclipse中添加 Servlet 运行时环境:
  • 在当前Web工程上右键单击,选择项目属性 Properties→Targeted Runtimes

maven_05_14

  • B.使用 Maven 添加运行Servlet的api依赖:

  • 回顾一下provided范围的依赖:

  • provided范围的依赖:
    • 对主程序、测试程序有效
    • 不参与打包和部署,例如:servlet-api.jar
    • 一般用于 Maven 的 Web 工程,具体使用可参照下图:

maven_03_04.png

  • 在pom.xml的dependencies节点中添加如下配置:
1
2
3
4
5
6
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
  • 若是在JSP页面中使用EL表达式的 pageContext 点 有提示,需要加入 jsp-api 的依赖:
1
2
3
4
5
6
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
  • 注意:依赖作用范围的设置,有时设置错误,可能会出现一些难以预料的错误,就像下边的:

maven_05_15


6.Maven搜索网站


评论