Maven 构建 & 项目测试
Maven 创建 Java 应用,如何构建和测试这个项目
e:/MVN 文件夹下 consumerBanking 文件夹。 有个 pom.xml 文件
xml代码可知 Maven 添加了 JUnit 作为测试框架
默认Maven 添加源码文件 e:\MVN\consumerBanking\src\main\java\com\companyname\bank\App.java 和测试文件 e:\MVN\consumerBanking\src\test\java\com\companyname\bank\AppTest.java
命令控制台,e:\MVN\consumerBanking 目录,执行 mvn 命令构建项目
E:\MVN\consumerBanking>mvn clean package [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------- [INFO] Building consumerBanking [INFO] task-segment: [clean, package] [INFO] ------------------------------------------------------------------- [INFO] [clean:clean {execution: default-clean}] [INFO] Deleting directory E:\MVN\consumerBanking\target ... ... ... [INFO] [jar:jar {execution: default-jar}] [INFO] Building jar: e:\MVN\consumerBanking\target\ 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 文件,关键概念
maven 两个目标,先清理目标目录(clean),后打包项目构建的输出为 jar(package)文件
打包好的 jar 文件在 consumerBanking\target 中,名为 consumerBanking-1.0-SNAPSHOT.jar
测试报告存在 consumerBanking\target\surefire-reports 文件夹
Maven 编译源码文件,及测试源码文件
Maven 测试用例
Maven 创建项目包
E:\MVN\consumerBanking\target\classes>java com.companyname.bank.App
结果
Hello World!
添加 Java 源文件
添加其他 Java 文件到项目 E:\MVN\consumerBanking\src\main\java\com\companyname\bank 文件夹,在其中创建 Util 类 Util.java
Util.java
更新 App 类来使用 Util 类:
App.java
现在打开命令控制台,跳转到 e:\MVN\consumerBanking 目录下,执行 mvn 命令
e:\MVN\consumerBanking>mvn clean compile
Maven 构建成功之后,跳转到 e:\MVN\consumerBanking\target\classes 目录,执行 java 命令
e:\MVN\consumerBanking\target\classes>java -cp . com.companyname.bank.App
看到结果
Hello World!
千年的回眸
解决方法 在pom.xml中添加 亲自验证通过
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>