一、安装
首先maven的配置安装非常简单:将下载下来的压缩包解压之后将bin目录的路径加入到path环境变量下即可,使用mvn –version
可以验证。
二、手工演示maven构建java项目
这里我们先手工的创建maven工程
我们先新建一个目录用来存放maven工程E:\javaWeb\maven\maven-pro
。然后新建一个01目录,这个目录就是我们的工程目录,而相关的的java文件必须放在此工程下的src\main\java
目录中。新建一个java文件
Hello.java
:
package cn.edu.zttc.hello;
public class Hello{
public String sayHello(String name){
return "Hello:" + name;
}
public static void main(String[] args){
System.out.println("Hello World");
}
}
注意:这里我们需要将此文件放在01\src\main\java\cn\edu\zttc\hello
目录下(根据包名),当然不存在的目录需要我们手工新建出来。
- 配置一个
pom.xml
的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<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>cn.edu.zttc.maven.hello</groupId>
<!--配置项目的一个模块-->
<artifactId>hello-first</artifactId>
<!--版本信息:这是一个快照版本-->
<version>SNAPSHOT-0.0.1</version>
</project>
这样我们就配置好了一个java项目的基本信息。
编译
使用命令mvn compile
进行编译,此时maven就会去中央仓库下载所需要的文件(如jar包)。下载下来的文件默认会放在C:\Users\yj\.m2
目录中,当然之后我们可能会给maven配置一个本地仓库,那样就不需要每次都进行下载。-
配置一个本地仓库
下载的内容在C:\Users\yj\.m2
中,但是为了精确控制maven下载下来的文件,我们在E:\maven
中新建了一个文件夹maven\repository
(完整路径是:E:\maven\maven\repository
),专门用来存放maven下载的文件。而这里我们首先需要对maven安装目录中的conf
文件夹中的settings.xml
对本地路径进行配置:
然后将此文件复制一份到E:\maven\maven
中。这里我们的本地仓库中什么都没有,直接将之前下载在C:\Users\yj\.m2
中的repository
中的所有文件全部拷贝到本目录。这样maven会首先在本地仓库中进行寻找所需的依赖文件,如果本地没有才会去远程仓库中下载。 测试
编译之后在工程下会多出一个target
的目录,这个目录中存放的就是编译好了的文件。现在我们编写一个测试文件TestHello.java
(放在E:\javaWeb\maven\maven-pro\01\src\test\java\cn\edu\zttc\hello
):
package cn.edu.zttc.hello;
import org.junit.*;
import static junit.framework.Assert.*;
import cn.edu.zttc.hello.*;
public class TestHello{
@Test
public void testHello(){
Hello h = new Hello();
assertEquals( h.sayHello("tom"), "Hello:tom");
}
}
注意:路径的后半部分是根据包名而定的。
同时,显然此测试类需要用到junit的相关包,所以我们需要在pom.xml
文件中配置junit:
<?xml version="1.0" encoding="UTF-8"?>
<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>cn.edu.zttc.maven.hello</groupId>
<!--配置项目的一个模块-->
<artifactId>hello-first</artifactId>
<!--版本信息:这是一个快照版本-->
<version>SNAPSHOT-0.0.1</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
说明:这里暂时不要管如何配置,我们先对maven有个直观的感受。
之后我们在工程01目录下运行命令:mvn test
此时我们会发现在target目录中多出了一些测试报告之类的文件,我们可以查看测试结果。当然我们如果使用命令:mvn clean
可以将编译的文件全部删掉。
打包
我们使用命令:mvn clean package
。这个命令就是先清除之前的编译文件然后再次编译。同时还会给我们将本工程的本模块打成一个jar包。
然后我们再看命令:mvn clean install
这个命令就是清理之前的文件,再次编译并将打好的包发到本地仓库中。这里注意:将打好的包发布到本地仓库中之后我们在其他项目中就可以使用此包了。现在在
E:\javaWeb\maven\maven-pro
中新建另一个工程02。目录结构和之前的一样,这里不再说明。然后我们编写一个java文件World.java
:
package cn.edu.zttc.world;
//这里我们是导入的之前的工程(01)
import cn.edu.zttc.hello.*;
public class World{
public static void main(String[] args){
Hello h = new Hello();
h.sayHello("Jerry");
}
}
- 同时这里需要用到01工程的内容,所以我们需要在本工程的配置文件
pom.xml
中进行配置
<?xml version="1.0" encoding="UTF-8"?>
<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>cn.edu.zttc.maven.hello</groupId>
<artifactId>hello-second</artifactId>
<version>SNAPSHOT-0.0.1</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>cn.edu.zttc.maven.hello</groupId>
<artifactId>hello-first</artifactId>
<version>SNAPSHOT-0.0.1</version>
<scope>complie</scope>
</dependency>
</dependencies>
</project>
- 之后我们使用命令:
mvn package
这样就打好一个包了,这是如果我们的01工程中Hello.java
文件中增加了一个方法:
public String hello(){
return “Hello”;
}
这时我们只需要使用命令:mvn clean install
重新清理、编译、打包、发布。在02工程中我们就可以直接使用此方法:h.hello();
然后再使用命令:mvn clean package
即可。
- 但是很显然,使用这种方式新建一个项目太过于麻烦,那maven为我们提供了一个工具,比如我们现在新建一个项目03。进入03,然后使用命令:
mvn archetype:generate
帮我们新建项目的骨架。
碰到这种情况我们直接回车即可。
然后到这里也是直接回车。然后我们需要输入一些信息,如下:
没有输入的地方表示直接回车。这样我们的项目骨架就搭建好了。
三、使用MyEclipse创建mavne工程
-
在MyEclipse中配置本地maven
首先在window-->preference-->Maven4MyEclipse-->Installations-->
添加我们自己的maven:选择文件路径E:\maven\maven-3.3.9
。
然后我们还要设置自己的仓库window-->preference-->Maven4MyEclipse-->User Settings
选择自己的仓库中的E:\maven\maven\ settings.xml
然后apply-->ok
。
-
然后我们新建一个maven项目(工程
user-core
):
New-->Maven Project-->Next-->
-->Next-->
输入我们的模块名称,包名等等信息。这样我们就建立了一个maven项目。
之后我们就可以进行相关的开发。