使用Maven构建一个简单的Java项目
1、进入命令行,执行下面的语句。
mvn archetype:generate -DgroupId=cn.luxh.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
执行完成后,可以看到如下结果:
BUILD SUCCESS,当在前用户目录下(即C:\Documents and Settings\Administrator)下构建了一个Java Project叫做my-app。
2、进入my-app目录,可以看到有一个pom.xml文件,这个文件是Maven的核心。
1)pom意思就是project object model。
2)pom.xml包含了项目构建的信息,包括项目的信息、项目的依赖等。
3)pom.xml文件是可以继承的,大型项目中,子模块的pom.xml一般都会继承于父模块的pom.xml
4)刚构建的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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.luxh.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>my-app</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
节点元素说明:
<project> pom文件的顶级节点 <modelVersion> object model版本,对Maven2和Maven3来说,只能是4.0.0 <groupId> 项目创建组织的标识符,一般是域名的倒写 <artifactId> 定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目 <packaging> 打包的方式,有jar、war、ear等 <version> 当前项目的版本,SNAPSHOT,表示是快照版本,在开发中 <name> 项目的名称 <url> 项目的地址 <dependencies> 构建项目依赖的jar <description> 项目的描述
其中由groupId、artifactId和version唯一的确定了一个项目坐标
3、构建的my-app项目结构如下
1)编译源程序,进入命令行,切换到my-app目录,执行命令:mvn clean compile
编译成功,在my-app目录下多出一个target目录,target\classes里面存放的就是编译后的class文件。
2)测试,进入命令行,切换到my-app目录,执行命令:mvc clean test
测试成功,在my-app\target目录下会有一个test-classes目录,存放的就是测试代码的class文件。
3)打包,进入命令行,切换到my-app目录,执行命令:mvc clean package,执行打包命令前,会先执行编译和测试命令
构建成功后,会再target目录下生成my-app-1.0-SNAPSHOT.jar包。
4)安装,进入命令行,切换到my-app目录,执行命令:mvc clean install ,执行安装命令前,会先执行编译、测试、打包命令
构建成功,就会将项目的jar包安装到本地仓库。
5)运行jar包,进入命令行,切换到my-app目录,执行命令:java -cp target\my-app-1.0-SNAPSHOT.jar cn.luxh.app.App