Maven是解决依赖库的一个非常好用的java工具,可以与Eclipse集成,方便地管理web,java项目等等,现在让
我们一起来配置Eclipse,以使Maven能够正常使用。
在Eclipse配置Maven之前需要我们做好准备工作,如下:
1. 安装jdk ,我的是jdk1.8.0_25
2. 已安装好maven,将maven配置成功,我的是apache-maven-3.3.9
3. 下载Eclipse,解压缩安装完成,建立工作空间。 我的是Mars.2 Release (4.5.2) Eclipse Java EE IDE for Web
Developers。
Eclipse配置Maven环境
检查Eclipse是否集成了Maven插件, 打开Eclipse,依次Windows –> Preferences –> Maven,如图:
既然集成了Maven插件,那么现在开始配置Maven开发环境:
第一步:依次打开Windows –> Preferences –> Maven –> Installations,不要用默认的Maven,点击Add。
第二步:选择maven安装目录,这里我的Maven安装目录为E:\Java\develop\apache-maven-3.3.9-bin,选择
你的Maven安装目录,并点击确定, 之后可以点击Apply,即可完成。
第三步:将系统的Maven设置为我们自己下载的。
第四步:然后, 我们在Maven的配置界面,设置User Settings Global Settings选择Maven安装目录下conf文
件夹下的settings.xml,这里我的Maven安装目录为E:\Java\develop\apache-maven-3.3.9-
bin\conf\settings.xml,选择你的Maven安装目录,检查Local Repository 项,检查的是本地仓库的位置,如果为
E:/Java/develop/maven/m2/repository则配置成功,否则重新配置上一步。
然后应用点击Ok就可以了。
在Eclipse下创建Maven项目
第一步:在Eclipse菜单栏中点击File->New->Other->Maven,在弹出的对话框中会看到,点击“Next>”按
钮,如下图所示
第二步:基本选择默认即可,再次选择“Next >”按钮,
第三步:在这个窗口中选择“maven-archetype-quickstart”来创建一个Maven项目,再次选择“Next >”按
钮。
第四步:在下图窗口的“Group Id”中输入项目的基本包名,在“Artifact Id”中输入项目名,其它输入框不用
理会。点击“Finish”按钮来完成项目的整个创建过程。之后,Maven就会根据项目的配置去中央仓库下载相应的文
件和jar包。
第五步:完成后,就有如下项目目录结构:
这样基本就完成了Maven项目的创建。
下面修改一下程序来运行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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.helloworld</groupId>
<artifactId>helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>helloworld</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
将App.java进行如下修改:
package com.mycompany.helloworld.helloworld;
public class App {
public String sayHello() {
return "hello world!";
}
}
将AppTest.java进行如下修改:
package com.mycompany.helloworld.helloworld;
import org.junit.Assert;
import org.junit.Test;
public class AppTest {
@Test
public void testSayHello() {
Assert.assertEquals("hello world!", new App().sayHello());
}
}
右键工程 –> Run As –> Maven test,控制台输出:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building helloworld 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ helloworld ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\Java\JavaEE\Demo\helloworld\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ helloworld ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to E:\Java\JavaEE\Demo\helloworld\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ helloworld ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\Java\JavaEE\Demo\helloworld\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ helloworld ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to E:\Java\JavaEE\Demo\helloworld\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ helloworld ---
[INFO] Surefire report directory: E:\Java\JavaEE\Demo\helloworld\target\surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.mycompany.helloworld.helloworld.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.09 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.259 s
[INFO] Finished at: 2016-12-28T13:17:41+08:00
[INFO] Final Memory: 14M/91M
[INFO] ------------------------------------------------------------------------
上面表示运行测试成功。