用 Maven 编译最简单的 java 程序

参考地址: http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

下载 Maven 地址:http://maven.apache.org/download.cgi#Installation

设置 Maven 的环境变量: 变量名:M2_HOME 变量值: C:\apache-maven-3.0.5

设置 Path 的环境变量:C:\apache-maven-3.0.5\bin;

建立maven的目录结构,我在这个基础上新增了A.java B.java 和相应的测试类

my_app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- xjh
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- xjh
`-- app
`-- AppTest.java

App.java

package com.xjh.app;

public class App {

public int add(int a, int b) {
return a + b;
}

}


AppTest.java

package com.xjh.app;

import org.junit.Test;

import junit.framework.Assert;
import junit.framework.TestCase;

public class AppTest extends TestCase {

public void testAdd() {
App app = new App();
Assert.assertEquals(3, app.add(1, 2));
Assert.assertEquals(2, app.add(1, 1));
}

}


A.java


package com.xjh.app;

public class A {

public int sum(int a, int b) {
return a + b;
}

}


B.java


package com.xjh.app;

public class B {

public int sub(int a, int b) {
return a - b;
}

}


ATest.java


package com.xjh.app;

import org.junit.Test;

import junit.framework.Assert;
import junit.framework.TestCase;

public class ATest extends TestCase {

public void testSum() {
A a = new A();
Assert.assertEquals(3, a.sum(1, 2));
Assert.assertEquals(2, a.sum(1, 1));
}

}


BTest.java


package com.xjh.app;

import org.junit.Test;

import junit.framework.Assert;
import junit.framework.TestCase;

public class BTest extends TestCase {

public void testSub() {

B b = new B();
Assert.assertEquals(4, b.sub(9, 5));
Assert.assertEquals(-1, b.sub(5, 6));

}

}


AllTest.java


package com.xjh.app;

import junit.framework.Test;
import junit.framework.TestSuite;

public class AllTest {

public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(ATest.class);
suite.addTestSuite(BTest.class);
suite.addTestSuite(AppTest.class);

return suite;

}

}


pom.xml


<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.xjh.app</groupId>
<artifactId>my_app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>


在控制台运行

D:\maven_test\my_app>mvn package

运行结果:

D:\maven_test\my_app>mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ my_app ---

[debug] execute contextualize
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e
. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\maven_test\my_app\src\main\resourc
es
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ my_app ---
[WARNING] File encoding has not been set, using platform encoding GBK, i.e. buil
d is platform dependent!
[INFO] Compiling 3 source files to D:\maven_test\my_app\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ my
_app ---
[debug] execute contextualize
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e
. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\maven_test\my_app\src\test\resourc
es
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ my_ap
p ---
[WARNING] File encoding has not been set, using platform encoding GBK, i.e. buil
d is platform dependent!
[INFO] Compiling 4 source files to D:\maven_test\my_app\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ my_app ---
[INFO] Surefire report directory: D:\maven_test\my_app\target\surefire-reports

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.xjh.app.AllTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.037 sec
Running com.xjh.app.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec
Running com.xjh.app.ATest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
Running com.xjh.app.BTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec

Results :

Tests run: 6, Failures: 0, Errors: 0, Skipped: 0

[INFO]
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ my_app ---
[INFO] Building jar: D:\maven_test\my_app\target\my_app-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.973s
[INFO] Finished at: Fri Mar 08 21:44:35 CST 2013
[INFO] Final Memory: 11M/28M
[INFO] ------------------------------------------------------------------------
D:\maven_test\my_app>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值