【修真院java小课堂】clean,install,package,deploy分别代表什么含义?
今天给大家分享一下,修真院官网java任务一中可能会使用到的知识点:
clean,install,package,deploy分别代表什么含义?
1. 背景介绍
要理解clean,install,package,deploy的含义,我们必须先认识maven。因为他们是maven中的命令。
Maven是什么?有什么用?怎么用?
2. 知识剖析
1. maven是什么?
Maven是一个项目构建和项目管理工具。
2. maven有什么用?
能够帮助使用者完成从清理,编译,测试,生成报告,打包和部署的一系列操作过程
maven标准化了项目的构建过程,有利于团队之间的协作。此外,maven可以有效的解决java项目中jar包依赖问题,解决由此带来的版本不一致等问题。maven还提供了一个免费的中央仓库,几乎可以找到任何开源类库。
3. 怎么用?
我们在开发项目的时候,不断地在进行编译、测试、打包、部署等过程,maven的生命周期就是对所有构建过程抽象与统一,生命周期包含项目的清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生成等几乎所有的过程。Maven有三套相互独立的生命周期clean,install,package,deploy 属于maven项目的生命周期中的一部分。Maven有三套相互独立的生命周期:
1.CleanLifecycle 在进行真正的构建之前进行一些清理工作。
2.DefaultLifecycle 构建的核心部分,编译,测试,打包,部署等等。
3.SiteLifecycle 生成项目报告,站点,发布站点。如下图:
clean 清理项目生产的临时文件,一般是模块下的target目录
install 将打包的jar/war文件复制到你的本地仓库中,供其他模块使用
package项目打包工具,会在模块下的target目录生成jar或war等文件
deploy 将打包的文件发布到远程参考,提供其他人员进行下载依赖
3. 常见问题
3.1如何增加删除一个依赖关系?
3.2出现如如下报错:
-Dmaven.multiModuleProjectDirectory systempropery is not set. Check $M2_HOME environment variable and mvn scriptmatch.[ERROR] Maven execution terminated abnormally (exit code 1)
3.3 IDEA中进行maven install报:系统资源不足的问题
3.4 IDEA使用maven慢的问题
4. 解决方案
4.1如何增加删除一个依赖关系?
解决方案:直接在pom文件中加入一个dependency节点,如果要删除依赖,把对应的dependency节点删除即可。
4.2出现如3.2的报错:
解决方案:在runner下的run in backqround中加-Dmaven.multiModuleProjectDirectory=$M2_HOME
如下图:
4.3 IDEA中进行maven install报:系统资源不足的问题
解决方案:将maven install的jvm内存调的大一点,具体如下:在idea中选择File->Settings,接着将maven runner的jvm内存根据自己系统内存大小进行调大
如下图:
4.4 IDEA使用maven慢的问题
解决方案:
1.maven每次进行创建的时候回去网上下载artheType-catalog.xml,将artheType-catalog.xml文件下载到本体。
2.maven自带的仓库好像是国外的,访问起来比较慢,修改到国内仓库。
如下图:
添加了dependency之后jar包下载特别慢,这里就需要更改maven的仓库了,在IDEA的安装目录下找到./plugins/maven/lib/maven2/目录或者./plugins/maven/lib/maven3/目录,在该目录中的conf目录下有setting.xml修改该文件,在<mirrors>标签下添加如下仓库地址:
5. 编码实战
使用IDEA新建的maven项目
shi
6. 扩展思考
maven使用的命令操作
7. 参考文献
https://blog.****.net/yhj19920417/article/details/72627227
https://blog.****.net/moshenglv/article/details/52027106
****上冰河winner 的博客
http://www.iteye.com/topic/973166
http://www.bubuko.com/infodetail-1415329.html
https://blog.****.net/zhuxinquan61/article/details/53725457
http://gqsunrise.iteye.com/blog/2401026
8. 更多讨论
maven默认的文件存放结构
/项目目录
· pom.xml 用于maven的配置文件
· /src 源代码目录
o /src/main 工程源代码目录
§ /src/main/java 工程java源代码目录
o /src/main/resource工程的资源目录
o /src/test 单元测试目录
§ /src/test/java
· /target 输出目录,所有的输出物都存放在这个目录下
o /target/classes 编译之后的class文件