讲道理,实操的搭建分布式工程的过程中,很难不遇到一些maven的问题。
由于自身对于maven了解比较有限,这里仅作为搭建分布式工程过程所遇到的一些maven相关的问题的记录。
可以参考大佬对于maven常见问题的总结
1. mvn 指令mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。 mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。 mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。
实际开发过程中,打包时可以跳过测试(测试有一些耗时的)
2. 重复引入了不同版本号的同一依赖带来的问题首先从工程角度来讲,引用了同一个Jar的不同版本,这肯定是依赖有问题,或者就是错误的。
其次,重复依赖,在项目启动过程当中可能会有一些警告信息。
当然,最重要的是引发代码异常,最常见的就是NoSuchMethod。
例如,我自己在尝试在springcloud工程中整合zipkin-ui时遇到了: Class path contains multiple SLF4J bindings
2.1 查看重复引入的依赖是被集成到哪些依赖中的mvn dependency:tree
还可以参考大佬的做法:IDEA中借组插件来直接可视化依赖的关系树
2.2 exclude掉重复的依赖3. IDEA 中 Maven 创建 module 出现 Ignored pom.xmlorg.apache.zookeeper zookeeper 3.4.8 org.slf4j slf4j-log4j12
参考这个
4. 对于maven插件的理解maven插件&生命周期
5. 一个module引入另一个module时,该module在install时候提示Could not resolve dependencies for project如果被引入的module可以正确install => 在父工程上先install一下,之前install发生报错的工程再install就ok了
6. maven target source版本maven设置target以及source版本
7. maven pom 文件详解maven之pom.xml配置文件详解



