问题与解决方案
deploy 时忽略指定模块
如果一个项目有如下结构:
proj
-- proj-api
-- proj-service
那 mvn deploy
时会 deploy 三个目标:proj、proj-api、proj-service。
而实际上,我们往往只需要 deploy 前两者与其它项目共享,proj-service 只用于自己打包运行使用。
此时,可以在 proj-service 的 pom 文件里添加以下内容,这样 Maven 在 deploy 时会忽略掉 proj-service。
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>
打包成功启动失败
报错关键信息:
Correct the classpath of your application so that it contains a single, compatible version of
可能的原因:包冲突,同一个类在包里有多个,加载了不正确的版本。
解决方法:
排除冲突包,只留一个版本。
如果有无法从 pom 里面排除的,则调整 pom 里的 dependency 顺序,将想要加载的那个放最上面。
参考
文档信息
- 本文作者:王玉镇wangyuzhen
- 本文链接:https://wangyuzhen666.github.io//wiki/java-maven/
- 版权声明:Creative Commons 4.0 传播此文章时,您需要遵守知识共享协议。 署名(BY)&非商业性(NC)&相同方式共享(SA)------------------------------- When disseminating this article, you need to adhere to a Creative Commons license. Attribution (BY) & Non-Commercial (NC) & Shareby Manner (SA) .(Creative Commons 4.0)