Maven
Maven的基本使用
-
一直想要学习J2EE的知识,但是不知道从何入门,直到在spring官网上发现了良心的教程,指引着学习的方向,力挺:https://spring.io/guides
-
本文也是自己在阅读教程的基础上加以实践探索所作
了解我们要干啥,需要准备什么,如何动手
-
我们要用maven构建一个提供时间的java程序
-
确保使用JDK8及更高版本
-
原文在后面才谈到Maven的下载,我们拿上来,通过访问官网maven.apache.org 来下载,并需要配置好环境变量,如果命令行运行mvn -v成功的话就好了,具体操作步骤这里就不写了。为了不让开发人员纠结maven自身的东西,诞生了Spring Initializr,它会为你创建好项目结构,且带有一个maven包装器,也就是一个mvnw脚本文件(实际情况下一个cmd脚本一个sh脚本,以适应不同操作系统),保证为你使用正确版本的maven,甚至你可以不用安装maven
创建文件目录结构
首先选择一个文件夹作为整个项目的根目录,然后命令行输入
mkdir -p src/main/java/hello
在hello文件夹里面,你可以放各种java程序代码,我们写两个
package hello;
public class HelloWorld {
public static void main(String[] args) {
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
package hello;
public class Greeter {
public String sayHello() {
return "Hello world!";
}
}
pom.xml
用这个文件来定义你的maven项目,它给出了项目的名称,版本,以及依赖的外部库。文件放在在根目录,也就是和src文件夹同级。把下述代码放进去,这是最简单不过的pom.xml文件了(科普一下,POM=project object model。没有POM的话,Maven是毫无用处的——POM是Maven的核心。是POM实现的并驱动了这种以模型来描述的构建方式。)
-
<modelVersion> POM模型版本(始终为4.0.0)
-
<groupId> 项目所属的组或组织,通常表示为域名
-
<artifactId>项目库工件的名称(例如,其JAR或WAR文件的名称,大概理解为项目组织可能有多个工程,以此区分)
-
<Version>正在生成的项目的版本。
-
<packaging>-如何打包项目。对于jar文件打包,默认为“jar”。使用“war”进行war文件打包。
到此为止,你已经完成了一个最小的,可用的maven项目了。
打包项目
构建生命周期
-
你可以使用Maven执行几个构建生命周期目标,包括编译项目代码、创建库包(例如JAR文件)和在本地Maven依赖关系存储库中安装库的目标。
maven命令介绍
mvn compile
启动maven,执行编译目标,在target目录中生成.class文件
mvn package
当然你一般不会想看到一大堆的.class文件,这个命令会在target目录中生成一个jar包,名字取决于<artifactId>和<version>标签中的内容。如果你把<packaging>标签中的内容改为war,那么将生成对应的war包。通过java -jar *.jar命令就能运行他。
mvn install
maven会把一个本地文件夹作为依赖仓库,以快速获得项目依赖。此命令会把你的项目打包到本地依赖仓库中,其他项目就可以将它作为依赖。
Test
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
在pom.xml中添加junit依赖:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
在src/test/对应文件目录下创建测试类,类名需要满足*Test格式,并使用@Test注解需要测试的方法,运行一下命令即可完成测试
mvn test