本文共 3652 字,大约阅读时间需要 12 分钟。
一、maven之helloworld案例
1. maven目录结构
src -main -java -package -test -java -package -resources
2. 新建目录
在任意指定盘下建文件夹 我的目录结构为:D:\code\maven 按maven的目录机构构建文件件,如下图3.D:\code\maven\src\main\java\com\maven下建HelloWorld.java
package com.maven;public class HelloWorld{ public String sayHello(){ return "hello world!"; }}
4. D:\code\maven\src\test\java\com\maven下建HelloWorldTest.java
package com.maven;import org.junit.*;import org.junit.Assert.*;public class HelloWorldTest{ @Test public void testHello(){ Assert.assertEquals("hello world!",new HelloWorld().sayHello()); }}
5、D:\code\maven下建pom.xml文件,同src根目录同级
4.0.0 com.maven maven-model 0.0.1 junit junit 4.10 test
住:
com.maven为我的工程目录(D:\code\maven) junit junit 4.10 test 为单元测试依赖6、进入命令行,进入D:\code\maven目录
执行mvn compile(第一次执行会下载各种插件、依赖包慢点)执行mvn test
二. maven clean、maven install
(1)进入到maven根目录,执行mvn compile命令会在根目录生成target文件 (2)执行mvn clean可将根目录下生成的target文件移除 (3)mvn install命令首先同maven之helloworld案例一样,新建maven2项目
Speak.java
package com.maven;import com.maven.HelloWorld;public class Speak{ public String sayHi(){ return new HelloWorld().sayHello(); }}
在maven2-src-test-java-com-maven创建测试类SpeakTest.java
package com.maven;import org.junit.*;import org.junit.Assert.*;public class SpeakTest{ @Test public void testSayHi(){ Assert.assertEquals("hello world!",new Speak().sayHi()); }}
pom.xml代码
4.0.0 com.maven2 maven-model2 0.0.1 junit junit 4.10 test
进到maven2目录下执行mvn compile命令,报错如下(找不到HelloWorld类):
[ERROR] COMPILATION ERROR :[INFO] -------------------------------------------------------------[ERROR] /D:/code/maven2/src/main/java/com/maven2/Speak.java:[3,17] 找不到符号符号: 类 HelloWorld位置: 程序包 com.maven[ERROR] /D:/code/maven2/src/main/java/com/maven2/Speak.java:[7,28] 找不到符号符号: 类 HelloWorld位置: 类 com.maven.Speak
此时,我们进入maven项目的根目录maven下,执行mvn install命令,将包含HelloWorld类的jar文件发布到本地仓库中。
maven本地默认仓库路径
接着配置pom.xml,添加新的依赖,将maven项目的坐标引用进来
4.0.0 com.maven2 maven-model2 0.0.2 junit junit 4.10 test com.maven maven-model 0.0.1
此时,进入maven2工程根目录maven2,执行mvn compile命令,提示项目构建成功,如下
[INFO] Compiling 1 source file to D:\code\maven2\target\classes[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 1.548 s[INFO] Finished at: 2016-06-06T21:13:05+08:00[INFO] Final Memory: 13M/155M
执行mvn test顺利通过
注:maven通过install将本地工程打包成jar包,放入到本地仓库中,再通过pom.xml配置依赖引入到当前工程。
pom.xml中引入的坐标首先在本地maven仓库中查找,若没有则去maven的网上中央仓库查找,并放到本地仓库供项目使用。