学习教程: 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 文件也很重要.
来源: http://www.bubuko.com/infodetail-3165793.html