Maven 使用

  |   0 评论   |   0 浏览

Maven安装完成后,就可以使用Maven命令创建和构建Java项目了。

Maven命令

Maven命令的语法:

1mvn [options] [<goal(s)>] [<phase(s)>]

[options],使用mvn -h命令可以查看有哪些可用的选项。示例:

1# 查看Maven版本
2mvn -v

[<goal(s)>]指的是插件中定义的目标(任务),如下面的示例:

1# 根据模板生成一个项目,archetype是插件名,generate是目标(任务)
2mvn archetype:generate

[<phase(s)>]指的是生命周期中的构建阶段,Maven内置的构建阶段包括:

  • clean - pre-clean, clean, post-clean
  • default - validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy
  • site - pre-site, site, post-site, site-deploy

真正工作的其实还是插件,因为插件目标是绑定在相应的构建阶段上的。
示例:

1# 对项目进行打包
2mvn package

创建项目

在命令行运行下面的命令:

1mvn archetype:generate -DgroupId=com.mycompany.helloworld -DartifactId=helloworld -Dpackage=com.mycompany.helloworld -Dversion=1.0-SNAPSHOT

archetype:generate插件目标会列出一系列的archetype让你选择。 Archetype 可以理解成项目的模型。Maven为我们提供了很多种的项目模型,包括从简单的Swing到复杂的Web应用。
我们选择默认的 maven-archetype-quickstart模板,编号是7 ,如下图所示:
01.png
连敲两个回车后,它会让你确认项目的属性配置,这些属性是在刚才命令中指定的。
02.png
创建成功后,在当前目录会有一个名为helloworld的目录,这个名字来自命令中的artifactId。这个目录下面有一个POM文件,源代码和资源文件放在src/main下面,而测试代码和资源放在src/test下面。并且Maven为我们创建一个示例文件App.java

项目构建

当项目开发完成之后,我们需要对项目进行构建(通常是将项目打成jar包或者war包)。
最简单的是使用mvn package命令进行构建(构建时需要进入项目根目录,即POM文件存放的地方):
03.png

构建成功后,在项目根目录下的target目录可以找到生成的jar文件。
04.png
执行下面的命令,可以看到程序能够正常运行,输出了“Hello World!”。

1java -cp helloworld-1.0-SNAPSHOT.jar com.mycompany.helloworld.App

与IDE集成

在实际项目开发中,我们通常使用IDE进行编程。在IDE中使用Maven需要安装相应的插件。

Eclipse

Eclipse IDE官方提供的插件是M2Eclipse
最新版本的Eclipse通常已经集成了该插件,可以在Windows->Preferences窗口中查看:
05.png

如果Eclipse沒有安装M2Eclipse插件,可以打开Help->Install New Software...窗口进行安装。
06.png

IntelliJ IDEA

IntelliJ IDEA内置了插件提供对Maven的支持,在File->Settings->Plugins窗口中可以查看:
07.png

除了可以使用内置的Maven,我们还可以使用本地安装的Maven。如下图所示,在File->Settings->Build,Execution,Deployment->Build Tools->Maven窗口指定本地Maven的安装目录。
08.png

相关资料

Running Apache Maven
Building a Project with Maven
Apache Maven IDE Integration
Introduction to Archetypes
Apache Maven 入门篇(上)
https://www.jetbrains.com/help/idea/maven-support.html