一、问题描述:

  项目分多个模块,open-eureka注册中心、open-provider服务提供者、open-common公共部分,provider依赖common。父pom使用spring-boot-maver-plugin插件,项目直接运行Main主类没问题,但是install报common中的类找不到符号.

二、查找问题:

  spring-boot-maven-plugin 打包跟普通的apache-maven-plugin打包不一致,前者打的jar 包是可以直接用java -jar  name.jar 来执行的,但是common模块只是作为一个其他模块的依赖来使用,并不需要有启动类,也不需要执行。

三、解决办法:

 3.1、删除父pom中的spring-boot-maven-plugin插件依赖,父pom不需要<build>

parent.pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.starfast.open</groupId><artifactId>starfast-open</artifactId><version>0.0.1-SNAPSHOT</version><modules><module>open-eureka</module><module>open-provider</module><module>open-feign</module><module>open-common</module></modules><packaging>pom</packaging><name>starfast-open</name><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><spring-cloud.version>Greenwich.RELEASE</spring-cloud.version><witown.open.version>1.0-SNAPSHOT</witown.open.version><open.common.version>0.0.1-SNAPSHOT</open.common.version></properties><dependencies><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.2.3</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.18</version></dependency></dependencies><dependencyManagement><!--引入spring-cloud依赖--><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.witown.app</groupId><artifactId>open-sdk</artifactId><version>${witown.open.version}</version></dependency><dependency><groupId>com.starfast.open</groupId><artifactId>open-common</artifactId><version>${open.common.version}</version></dependency></dependencies></dependencyManagement></project>

 3.2、只在需要独立运行的模块,如provider模块中加载spring-boot-maven-plugin插件依赖

provider.pom

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>starfast-open</artifactId><groupId>com.starfast.open</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>open-provider</artifactId><name>open-provider</name><dependencies><!--common模块--><dependency><groupId>com.starfast.open</groupId><artifactId>open-common</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

3.3、删除不需要独立运行的模块中的spring-boot-maven-plugin插件依赖

common.pom

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>starfast-open</artifactId><groupId>com.starfast.open</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>open-common</artifactId><packaging>jar</packaging><name>open-common</name><dependencies><!--web--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--eureka client--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--开放平台--><dependency><groupId>com.witown.app</groupId><artifactId>open-sdk</artifactId></dependency><!--监控--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--单元测试--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies></project>

install结果:

顺便吐槽,网上的垃圾文章真多,还好发现了该篇文章,

https://blog.csdn.net/SnailMann/article/details/81710461

多谢作者。

转载于:https://www.cnblogs.com/geekdc/p/10744903.html

spring-boot-maven-plugin多模块install问题解决办法相关推荐

  1. org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012

    警告]"build.plugins.plugin.version"for org.springframework.boot:spring boot maven plugin丢失. ...

  2. Spring Boot的Maven插件Spring Boot Maven plugin详解

    pring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven ...

  3. maven打包插件----Spring Boot Maven Plugin

    官方文档链接地址:http://docs.spring.io/spring-boot/docs/1.3.0.BUILD-SNAPSHOT/maven-plugin/index.html 第一部分 Sp ...

  4. Spring Boot+Maven实现车牌训练、识别系统

    目录 1.项目功能 2.项目概述 3.项目环境 之前为各位朋友分享过Python+OpenCV实现车牌检测与识别,本篇博文为各位分享Spring Boot+Maven实现车牌训练.识别系统. 1.项目 ...

  5. Spring Boot Maven插件

    Spring Boot Maven插件提供了使用Spring Boot应用程序步骤如下:   重新打包:创建一个可自动执行的jar或war文件.它可以替换常规工件,或者可以使用单独的分类器附加到构建生 ...

  6. Spring Boot——Maven使用SystemPath引用本地jar:ClassNotFoundException

    问题描述 <dependency><groupId>com.dingtalk</groupId><artifactId>dingtalk-api-sdk ...

  7. spring boot做定时任务管理模块。

    spring boot做定时任务管理模块. 我做的定时器管理界面是下面这样的. 新增页面. 列表页面. 下面来说说做定时任务管理模块的步骤. 1.在pom.xml中配maven库. org.quart ...

  8. spring boot maven项目返回值乱码的解决方法

    spring boot maven项目返回值乱码的解决方法 1.先看乱码效果: spring boot maven项目,返回值乱码,如下图: 控制台打印log乱码,如下图: 有swagger的话,sw ...

  9. Spring Boot前后端分离项目Session问题解决

    Spring Boot前后端分离项目Session问题解决 参考文章: (1)Spring Boot前后端分离项目Session问题解决 (2)https://www.cnblogs.com/sooo ...

最新文章

  1. AWS S3云存储服务
  2. 交通部:将从五方面推进京津冀暨雄安新区交通建设
  3. java设计一个顺序表类的成员函数_顺序表代码讲解以及实现
  4. 【腾讯面试题】MySQL常用数据库引擎
  5. Windows7 支付宝证书安装方法
  6. Hosting in .NET Core
  7. 唐刘之辩:行业知识图谱的schema构建的难点、重点与困惑
  8. 编程之美 - 哪个题目最美?
  9. [Python]网络爬虫(六):一个简单的百度贴吧的小爬虫
  10. H3C DHCP特点
  11. Java二、八、十、十六进制介绍
  12. 钱少事多,开源项目维护人员几乎集体出走
  13. 剑指offer面试题65. 不用加减乘除做加法(位运算)
  14. 软件安全课程设计:高校科研管理系统
  15. APP推广运营手册全集
  16. matlab 方程组求导,matlab求导及线性方程组的求解
  17. 电机选型计算电机转动惯量、启动转矩和额定转速
  18. ftp登录常用命令和工作模式简介
  19. 计算机组成电路图符号大全,电路图|电路图讲解|电路图符号大全_极客迷
  20. 【基于Pytorch的手写汉字识别】

热门文章

  1. sshd iptable 傻瓜配置
  2. maven学习(6)-Maven依赖范围
  3. Oracle 与 MySql 区别
  4. ssh 免密码登录---问题
  5. 四:Cocos2d-x设计思想
  6. php连接memcache(php.ini配置)
  7. XMLHttpRequest异步时的超级链接调用函数问题
  8. 希望博客园可以开个邮件列表
  9. android 监听媒体库,一个蛋疼的功能,监听android系统媒体库的变动
  10. jsp+左间距_DIV间距设置