项目结构如下
HelloWorld.java
package pak1; public class HelloWorld { public String sayHello(){ return "Hello World!"; } }
HelloWorldTest.java
package pak2; import pak1.HelloWorld; import org.junit.Assert; import org.junit.Test; public class HelloWorldTest { @Test public void testHello(){ Assert.assertEquals("Hello World!", new HelloWorld().sayHello()); } }
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>com.yanguobin</groupId> <artifactId>maven1</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.1</version> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </pluginManagement> </build> </project>
<modelVersion>4.0.0</modelVersion>指maven版本,4.0.0是固定的。
groupId的值就是项目的包名,可以与包名不一致
artifactId的值是模块名,可以与模块名不一致
其中,有了这些Maven的这些plugin,在compile, test时就不会报错"不再支持源选项 1.5。请使用 1.6 或更高版本"
mvn compile编译
在项目目录下执行mvn compile时会在项目目录下生成target目录,如下
其中,classes目录下存放的就是生成的字节码文件
mvn test测试
在项目目录下执行mvn test时会在target目录下生成其他目录,如下
其中,surefire-reports目录下存放的就是生成的测试报告
mvn package打包
在项目目录下执行mvn package时会在target目录下生成.jar包,如下
mvn clean删除target
在项目目录下执行mvn clean时删除target目录及其目录下的所有内容
mvn install 安装jar包到本地仓库中
假设已有项目maven1,新建了项目maven2,而项目maven2用到了项目maven1中的类,此时就需要使用mvn install将项目maven2的jar包安装到本地仓库中,然后就可以在项目maven2的pom.xml文件中引入maven1的pom文件的依赖坐标,然后项目maven2就可以引用项目maven1的文件了。