文章目录
- 一、简介
- 二、项目打包
- 2.1、javac命令打包
- 2.2、maven打包
- 三、项目生成
一、简介
Maven是一个项目管理和整合工具。为开发者提供了一套完整的构建生命周期框架,Maven使得大部分的工程配置操作都非常简单并且可复用,在创建报告、检查、构建和测试自动配置时,Maven可以让开发者的工作变得更简单。
另外Maven默认约定了一套目录结构,在通过Maven创建了项目以后,项目的目录结构就是以这套目录结构作为模板创建的。虽然Maven提供了很多的模板,但是基本的目录结构都是固定的,如下所示:
src
----/main
--------/java # 项目的源代码所在的目录
--------/resources # 项目的资源文件所在的目录
--------/webapp # 如果是web项目,则该目录是web应用源代码所在的目录,比如html文件和web.xml等都在该目录下
----/test
--------/java # 测试代码所在的目录
--------/resources # 测试相关的资源文件所在的目录
---/pom.xml # maven的核心文件(maven项目必须有)
其中pom.xml主要文件结构如下:
二、项目打包
2.1、javac命令打包
在介绍使用Maven之前,我们先来看一下如何使用原始的javac命令对项目进行打包,首先需要新建一个Java项目,如下:
之前在Windows安装JDK及Maven中介绍JDK安装中,就曾使用过javac
命令进行编译生成.class
文件执行测试过,其中-d .
参数是用于指定去生成.class
文件的路径(这里表示当前目录),若不指定,生成的 .class 文件和类文件同级。
然后就可以使用jar
命令进行打包了,如下:
不过在执行上述的过程生成的example.jar
时报错了,提示我们没有主清单属性,所以这里我们就需要新建一个MENIFEST.MF
文件来指定,如下:
然后将刚刚生成的example.jar
删除,在重新打包e即可,如下:
2.2、maven打包
在了解完上述打包步骤后,我们来看看Maven是如何进行打包的,首先我们需要安装好Maven,至于Maven安装配置可见Mac安装JDK及Maven和Windows安装JDK及Maven
安装完成后我们将上述项目添加一个pom.xml
,将上述项目改为一个Maven项目,或者我们重新新建一个Maven项目
然后进行打包,一般会先执行mvn clean
,然后再执行mvn package
,当然这两条命令其实也是可以合起来进行执行的,如下:
上述maven打包后,在项目目录中找到了target
目录,直接执行生成的jar包,发现了和javac
打包相同的问题,所以maven打包也需要给其指定程序的入口,这里利用到maven-jar-plugin
插件,并且还需要给其指定程序的入口,如下:
然后我们再次进行打包执行,其结果如下(在打包时,我们还可以利用右侧提供的maven栏,其和上述使用maven命令效果一致)
三、项目生成
上述生成maven项目时,我们是自己添加了pom.xml文件,并且按照maven约定的目录结构新建了文件目录,我们也可以直接利用maven来创建maven项目,比如使用IDEA在新建,如下:
可以发maven还为我们提供了很多的模板,其实就是使用了maven的命令来生成相关的项目,其命令格式为:
mvn archetype:generate -DgroupId=xxx -DartifactId=xxx -DarchetypeArtifactId=xxx -Dversion=xxx
其中-DarchetypeArtifactId
类型,就是我们在IDEA创建项目中看到的,其常用的如下:
mvn archetype:generate -DgroupId=com.rockvine -DartifactId=example -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0-SNAPSHOT
mvn archetype:generate -DgroupId=com.rockvine -DartifactId=example -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0-SNAPSHOT