今天差点累疯了。。。。
基本上运行maven有两种形式:
1,Maven phase name
比如:Maven Build--Build是一个phase。
2,Maven plug-in:goal
比如:Maven assembly:assembly 指运行assembly plug-in 中的assemly goal。
在运行Maven项目时经常可以看到大量的类似信息:
[INFO] >>> maven-assembly-plugin:2.2:assembly (default-cli) @ project name >>>
//这里的插件全称是maven-assembly-plugin 2.2是版本号? assembly 是goal
//嗯,回头还得再扫一眼maven。(default-cli) @ project name 不知道是啥。
[WARNING] The POM for opensymphony:quartz-all:jar:1.6.3 is missing, no dependency information available
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ name---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 12 resources --后面紧跟这个插件的运行结果。
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ name---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ name---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ name ---
[INFO] Nothing to compile - all classes are up to date
安装了maven之后,在run as中会出现很多快捷方式,如:
maven install --将代码安装到本地repository。
maven test
maven build 等等
这些相当于运行phase的快捷方式。如果需要修改phase,在每个phase中指定不同的goal,就可以右键点击:
project->run as ->maven build。。。
此时,在goal中写入希望运行的phase名字,如install。其他的选择则是用来修改它的一些行为,如skip tests就可以了。
maven相当于一个独立的项目。对pom。xml进行了修改,都需要重新build这个项目。