zoukankan      html  css  js  c++  java
  • [java 2020-04-24] Maven多模块项目+SpringBoot,编译失败:程序包xxx不存在

    问题描述:

    通过parent父工程进行Maven install,parent父工程和common子工程打包成功,projectA子工程打包失败并报错

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project projectA: Compilation failure
    [ERROR] /xxxx.java:[14,36] 程序包com.xxx.xxx.utils不存在

    原因分析:

    common也是SpringBoot工程,SpringBoot工程打包编译时,会生成两种jar包,一种是普通的jar,另一种是可执行jar。

    默认情况下,这两种jar的名称相同,在不做配置的情况下,普通的jar先生成,可执行jar后生成,造成可执行jar会覆盖普通的jar。而projectA工程无法依赖common工程的可执行jar,所以编译失败:程序包xxx不存在。

    添加配置后截图如下,其中common-1.0-SNAPSHOT-exec.jar为可执行jar,common-1.0-SNAPSHOT.jar为普通jar包。

    解决方案:

    在common子工程下的pom.xml,添加以下配置

    <build>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
                 <configuration>
                     <classifier>exec</classifier>
                 </configuration>
             </plugin>
         </plugins>
    </build>
  • 相关阅读:
    Nginx安装
    Nginx拦截指定国家的IP
    tomcat版本号隐藏或修改
    tomcat启动时卡住
    tomcat8 manager页面限制IP访问
    tomcat manager配置
    SpringBoot注解验证参数
    docker构建自定义镜像
    ubuntu安装docker以及基本用法
    使用idea创建一个maven工程
  • 原文地址:https://www.cnblogs.com/shijt/p/12770597.html
Copyright © 2011-2022 走看看