Java - Maven

wangyuzhen

问题与解决方案

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

Search

    Table of Contents