我们在创建工程章节中学到的是如何使用 Maven 创建 Java 应用。现在我们将看到如何构建和测试这个应用。
跳转到 C:/MVN 目录下,既你的 java 应用目录下。打开 consumerBanking 文件夹。你将看到 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.companyname.projectgroup</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
</project>
可以看到,Maven 已经添加了 JUnit 作为测试框架。默认 Maven 添加了一个源码文件 App.java 和一个测试文件 AppTest.java 到上个章节中我们提到的默认目录结构中。
打开命令控制台,跳转到 C:MVNconsumerBanking 目录下,并执行以下 mvn 命令。
C:MVNconsumerBanking>mvn clean package
Maven 将开始构建工程。
[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------
[INFO] Building consumerBanking
[INFO] task-segment: [clean, package]
[INFO] -------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory C:MVNconsumerBankingtarget
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:MVNconsumerBankingsrcmain
resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 1 source file to C:MVNconsumerBankingtargetclasses
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:MVNconsumerBankingsrctest
resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 1 source file to C:MVNconsumerBankingtargettest-classes
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: C:MVNconsumerBankingtarget
surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.companyname.bank.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: C:MVNconsumerBankingtarget
consumerBanking-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Tue Jul 10 16:52:18 IST 2012
[INFO] Final Memory: 16M/89M
[INFO] ------------------------------------------------------------------------
你已经构建了你的工程并创建了最终的 jar 文件,下面是要学习的关键概念:
现在打开命令控制台,跳转到 C:MVNconsumerBankingtargetclasses 目录,并执行下面的 java 命令。
C:MVNconsumerBankingtargetclasses>java com.companyname.bank.App
你可以看到结果:
Hello World!
我们看看如何添加其他的 Java 文件到工程中。打开 C:MVNconsumerBankingsrcmainjavacomcompanynamebank 文件夹,在其中创建 Util 类 Util.java。
package com.companyname.bank;
public class Util
{
public static void printMessage(String message){
System.out.println(message);
}
}
更新 App 类来使用 Util 类。
package com.companyname.bank;
public class App
{
public static void main( String[] args )
{
Util.printMessage("Hello World!");
}
}
现在打开命令控制台,跳转到 C:MVNconsumerBanking 目录下,并执行下面的 mvn 命令。
C:MVNconsumerBanking>mvn clean compile
在 Maven 构建成功之后,跳转到 C:MVNconsumerBankingtargetclasses 目录下,并执行下面的 java 命令。
C:MVNconsumerBankingtargetclasses>java -cp com.companyname.bank.App
你可以看到结果:
Hello World!
War 的插件继承自 Java 插件并添加了对组装 web 应用程序的 WAR 文件的支持。它禁用了 Java 插件生成默认的 JAR archive,并添加...
JaCoCo 插件目前还是孵化中状态。请务必注意,在以后的 Gradle 版本中,DSL 和其他配置可能会有所改变。JaCoCo 插件通过集成 JaC...
你可以用 Ant 来执行 Java 代码。在下面的例子中,给出的 java 类文件需要一个参数(管理员的邮箱地址),执行后将发送一封邮件...
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开...
常用设置如上图标注 1 所示,该区域的后缀类型文件在 IntelliJ IDEA 中将以标注 2 的方式进行打开。如上图标注 3 所示,我们可以...
打开新建 Java 接口向导新建 Java 接口向导可以创建新的 Java 接口。打开向导的方式有:点击 File 菜单并选择 NewInterface在 Pa...
Redis Setex 命令Redis 字符串(string) Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会...
Redis Decrby 命令Redis 字符串(string) Redis Decrby 命令将 key 所储存的值减去指定的减量值。如果 key 不存在,那么 key 的值...