1、Demo 架构(注意目录)
*******拓展,很多项目,归根也是个maven项目******
2、maven指令
2.1 清除、编译
进入工作目录(D:\InsAddress\eclipse\workplace\mavenTest),mvn clean compile;
这条命令的意思是:
1、clean告诉Maven清理输出目录target/
2、compile告诉Maven编译项目主代码
从输出中可以看到Maven首先执行了clean:clean任务,删除target/目录;紧接着执行resources:resources任务(因为未定义项目资源,因此此项略过);最后执行compiler:compile任务,将项目主代码编译至target/classes目录。
2.2 测试
Maven项目中默认的主代码目录是src/main/java,相应地Maven项目中默认的测试代码目录是src/test/java,因此如果在编写测试用例之前没有该目录,应当首先创建该目录:mvn clean test;
2.3 打包
在项目编译、测试通过之后,就会进行一项操作,就是打包(package):mvn clean package;生成jar文件,这样就可以在别的地方使用这个jar文件了。
2.4 安装
上面生成的jar文件,可以直接复制到别的项目的CLASSPATH下供其他项目使用,那么如何让其他项目直接使用这个jar包呢?可以使用install:mvn clean install;
看到生成的jar和pom被安装到本地仓库中了,只有当构建被下载到本地仓库之后,才能供其他Maven项目使用。这里也是同样道理,只有将Hello World的构件安装到本地仓库之后,其他Maven项目才能使用它。
3. 生命周期
上面的内容,包含了Mavan最主要的命令:mvn clean compile、mvn clean test、mvn clean package、mvn clean install。执行test之前,先执行compile、执行package之前先执行test、执行install之前先执行package,这就涉及到一个概念:Maven生命周期。
在Maven中有三套独立的生命周期:
- Clean Lifecycle:在进行真正的构建之前进行一些清理工作
- Default Lifecycle:构建的核心部分,编译、测试、打包、部署
- Site Lifecycle:生成项目报告、生成站点、发布站点
4. 事实上,开发工具eclipse提供了maven插件,不需要手敲指令;