runoops.com

Eclipse 中使用 Maven

在 Eclipse 中配置 Maven

Eclipse 中默认自带 Maven 插件,但是自带的 Maven 插件不能修改本地仓库,所以通常我们不使用自带的 Maven,而是使用自己安装的,在 Eclipse 中配置 Maven 的步骤如下:

点击 Eclipse 中的 Window→Preference,点开 Maven 前面的箭头,选择 Installations,点击 Add…

点击 Directory…选择我们安装的 Maven 核心程序的根目录,然后点击 Finish:

勾上添加的 Maven 核心程序:

选择 Maven 下的 User Settings,在全局设置那里点击 Browse…选择 Maven核心程序的配置文件 settings.xml,本地仓库会自动变为我们在 settings.xml 文件中设置的路径:


在 Eclipse 中创建 Maven 项目

创建 Java 工程

点击 File→New→Maven Project,弹出如下窗口:

点击 Next,配置坐标(GAV)及打包方式,然后点击 Finish:

创建完工程之后发现默认的 JDK 的编译版本是 1.5,在 Maven 的核心配置文件 settings.xml 文件中添加以下配置将编译版本改为 11,重启 Eclipse 即可:

<profile>
  <id>jdk-11</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>11</jdk>
  </activation>
  <properties>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
    <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
   </properties>
</profile>

配置 Maven 的核心配置文件 pom.xml 文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.runoops.maven</groupId>
  <artifactId>MavenJava</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

编写主代码,在 src/main/java 目录下创建包并创建 Hello.java 文件:

package com.runoops.maven;

public class Hello {
    public String sayHello(String name) {
        return "Hello "+name+"!";
    }
}

编写测试代码,在 src/test/java 目录下创建包并创建 HelloTest.java 文件:

package com.runoops.maven;

import org.junit.Test;
public class HelloTest {
    @Test
    public void testHello() {
        Hello hello = new Hello();
        String maven = hello.sayHello("Maven");
        System.out.println(maven);
    } 
}

使用 Maven 的方式运行 Maven 工程
在工程名 Hello 或 pom.xml 上右键→Run As 运行 Maven 项目:


创建 Web 工程

创建简单的 Maven 工程,打包方式为 war 包:

创建完成之后因缺少 web.xml 文件工程出现小红叉:

在工程上右键→Build Path→Configure Build Path…

点击 Project Facets 欺骗 Eclipse 当前工程不是 Web 工程,点击应用:

再告诉 Eclipse 当前工程是一个 Web 工程,点击应用并关闭:

发现 MavenWeb 工程小红叉消失,在 webapp 下创建 index.jsp 页面并添加 Tomcat 库,在 MavenWeb 上右键→Run As→Run on Server 部署到 Tomcat 上运行如下:


创建父工程

父工程的打包方式为 pom,父工程只需要保留 pom.xml 文件即可。

创建简单的 Maven 工程,打包方式选择 pom:

在 pom.xml 文件中通过标签进行依赖管理:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.runoops.maven</groupId>
  <artifactId>MavenParent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  
  <!-- 依赖管理 -->
  <dependencyManagement>
    <dependencies>
    <!-- 在此配置要管理的依赖 -->
    </dependencies>
  </dependencyManagement>
  
</project>

在子工程中继承父工程:

<!-- 继承 --> 
<parent>
 <!-- 在此配置父工程的坐标 -->
</parent>

在 Eclipse 中导入 Maven 项目

点击 File→Import…

选择项目的路径,即使用 Maven 创建一个项目时的存储路径。假设我们创建了一个项目:trucks 通过 Maven 构建 Java Web 项目,查看如何使用 Maven Java Web 创建一个项目

点击Finished,现在,你可以在 Eclipse 中看到 Maven 项目。

好了,我们来使用 Eclipse 的编译功能来构建这个 Maven 项目。

  • 右键打开 trucks 项目的上下文菜单
  • 选择 Run 选项
  • 然后选择 maven package 选项

Maven 开始构建项目,你可以在 Eclipse 的控制台看到输出日志。