零、约定

 
     标准的重要性不用我过于强调,想象一下如果不是所有人都基于HTTP开发WEB应用,这个世界会乱成怎样。IE,FF等浏览器之间的差别已经让很多开发者头痛不已。JAVA成功的原因之一就是由于它能屏蔽大部分操作系统的差异,XML流行的原因之一是所有语言都接受它。Maven当然还不能和这些既成功又成熟的技术相比,但所有Maven的用户都应该清楚,Maven提倡的是“约定优于配置(Convention Over Configuration)”,这是Maven最核心的理念之一。
 

一、创建代码以及测试代码

 
     项目主代码和测试代码不同,项目的主代码会被打包到最终的构件中(比如jar),而测试代码只在运行测试时用到,不会被打包。默认情况下,Maven假设项目主代码位于src/main/java目录。我们遵循Maven的约定,创建该目录,然后在该目录下创建文件info/zhw/arazon/Calculator.java 
 
 主程序代码:
1 public class Calculator {
2 
3     public int add(int a, int b) {
4         return a + b;
5     }
6 
7 }

 

测试代码:

1 public class CalculatorTest extends TestCase {
2 
3     Calculator c = new Calculator();
4 
5     public void testAdd() {
6         assertEquals(c.add(3, 4), 7);
7     }
8 
9 }

 

二、mvn clean

    clean指令告诉maven去清理目录target/中的内容。
 1 [INFO] Scanning for projects...
 2 [INFO] 
 3 [INFO] ------------------------------------------------------------------------
 4 [INFO] Building arazon 1.0-SNAPSHOT
 5 [INFO] ------------------------------------------------------------------------
 6 [INFO] 
 7 [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ arazon ---
 8 [INFO] Deleting /home/zhw/workplace/maven/arazon/target
 9 [INFO] ------------------------------------------------------------------------
10 [INFO] BUILD SUCCESS
11 [INFO] ------------------------------------------------------------------------
12 [INFO] Total time: 0.321 s
13 [INFO] Finished at: 2015-03-23T20:25:26+08:00
14 [INFO] Final Memory: 7M/147M
15 [INFO] ------------------------------------------------------------------------
  实际上它直接把target给删了。
 

三、mvn compile

    compile则编译项目的代码,并将其输出到target目录中,待compile执行完之后,项目的编译任务也已经完成。可以对项目进行测试和执行。
 

四、mvn test

    如果项目中写入了单元测试,则会自动进行测试,并输出测试结果
 
1 -------------------------------------------------------
2 T E S T S
3 -------------------------------------------------------
4 Running info.zhw.arazon.CalculatorTest
5 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec
6 
7 Results :
8 
9 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
  如若测试没有通过,也会在此处得到提醒。
 

五、mvn package

  打包,根据pom中的package属性对编译测试成功后的内容进行打包,生成可部署运行的版本。
 

六、mvn install

  自动运行上述所有步骤 :)实在太方便了
 
 

七、最好的教程

  最好的教程当然还是官方的文档,简单总结出来的东西难免有所遗漏甚至错误,建议直接看其官方文档,写的也是清晰明了,如果只是想知道怎么用。那个Maven in 5 min已经足够。

 
 
 参考文献:
http://juvenshun.iteye.com/blog/293975
posted on 2015-03-23 23:26  Sluggard  阅读(484)  评论(0编辑  收藏  举报