一. 编写pom
在项目根目录下编写
<?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/maven-v4_0_0.xsd ">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zqmlxl.app</groupId>
<artifactId>hello-world</artifactId>
<version>1.0-SNAPSHOT</version>
<name>my hello world maven project</name>
</project>
maven2和maven3中modelVersion必须为4.0.0
groupId一般以公司信息起名
artifactId一般以项目信息起名
version版本号,SNAPSHOT意为快照,项目还在开放中,是不稳定版本
name填写该元素以方便信息交流
二. 编写主代码
package main.java.com.zqmlxl.app.helloworld;
public class HelloWorld {
public String sayHello(){
return "hello world!";
}
}
默认情况下,maven假设项目主代码位于src/main/java
目录
在项目根目录下运行mvn clean compile编译项目
三. 编写测试代码
添加依赖,修改pom.xml,添加如下内容
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
junit测试代码:
package com.zqmlxl.app.helloworld;
import org.junit.Assert;
import org.junit.Test;
import com.zqmlxl.app.helloworld.HelloWorld;
public class HelloworldTest {
@Test
public void test() {
HelloWorld entity = new HelloWorld();
String result = entity.sayHello();
Assert.assertEquals("hello world", result);
}
}
在项目根目录运行
mvn clean test
四. 打包运行
mvn clean package
mvn clean install
运行jar中的main方法需修改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/maven-v4_0_0.xsd ">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zqmlxl.app</groupId>
<artifactId>hello-world</artifactId>
<version>1.0-SNAPSHOT</version>
<name>my hello world maven project</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transfomer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.zqmlxl.app.helloworld.HelloWorld</mainClass>
</transfomer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
五. 使用archetype生成项目骨架
maven3中直接输入一下命令
mvn archetype:generate
maven2
mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-5:generate
六. m2eclipse简单使用
1. 导入maven项目
file->import->maven project->next->选择项目根目录->finish
2. 创建maven项目
file->new->other->maven project -> next->使用默认选项,next->双击maven-archetype-quickstart->next->输入groupId .artifactId,version,package等信息->finish
3. 运行mvn命令
右键maven项目->Run as
如果需要自定义,就选maven build选项,填写Goals信息即可