学习教程: https://www.yiibai.com/maven/
Maven不仅可以管理jar包,还可以管理我们项目中对其他子模块的引用;
mvn claen 在“target”文件夹中的一切都将被删除。删除以前编译得到的class字节码文件。
mvn compile 编译,将Java源程序编译成class字节码文件。
mvn test 测试,并生成测试报告。
mvn package 打包,动态Web工程打包war包,Java工程打jar包。
mvn install 将项目生成的jar包放入maven仓库中,以便别的模块调用。
mvn clean compile -U 清楚target下的文件,并将生成的jar包放入仓库中去。
理解maven命令可以帮助我们解决很多项目中的问题。
举个例子:SpringCloud项目,包含多个微服务,其中公共模块被同时修改了上传到Gitlabel,你更新到本地,订单服务要引用公共模块,订单模块启动时报公共模块bean创建失败问题,为什么呢?公共模块服务可以正常启动,怎么会报错呢?因为maven仓库中的jar包不是最新的,也就是说订单服务引用的jar还是原来的,需要执行mvn clean compile -U,再重新启动服务就可以解决这种问题。
还有pom.xml文件的问题:启动微服务时,会报openfegin创建bean失败异常。为什么呢?我的pom文件并没有引用fegin组件,怎么回报这种错呢?可能是pom文件引用了父pom文件,在父pom文件中存在对fegin组件的引用。所以启动时才会报这种奇怪的异常。
学习pom文件也很重要。
Maven项目依赖管理工具
原文:https://www.cnblogs.com/mxh-java/p/11395345.html