package打包一个springcloud项目的某个微服务报错问题

 更新时间:2024年07月12日 15:00:45   作者:WikC.668  
这篇文章主要介绍了package打包一个springcloud项目的某个微服务报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

package打包一个springcloud项目的某个微服务报错

事情是这样的 我需要打包一个父工程下的一个微服务 但是package一直报错 找不到公共依赖包api-commons 差了各种帖子都说是maven的问题 我还去C:\Users\云云小宝宝\.m2\repository\com\example\cloud-api-commons路径下找到了这个依赖包根本就是maven的问题提 关键是这个微服务是能正常运行的 就是打包不了 对这个微服务各种 clean和install然后在package都不行 最后直接把父工程clean install 然后在对这个微服务package 完美运行成功

这里是报错提示:

springcloud微服务环境下,maven打包时报错:程序包不存在以及找不到类

血泪史,不一定通用:

微服务中几个子工程有相互依赖时,出现程序包不存在找不到目标类,且会出现找不到启动类相关错误

spring-boot-maven-plugin的坑

IDEA执行正常,打包时报错

查看各个子模块,例如common公共依赖模块,打包插件不建议直接使用spring-boot-maven-plugin,该插件会打成可执行jar,就会去寻找main主函数,可能报找不到启动类的错,且打包后的jar结构不能被其他模块依赖

心得

提供服务的模块使用spring-boot-maven-plugin正常打包,如下:

<build>
      <plugins>
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
      </plugins>
</build>

公共依赖的模块需要在插件配置,如下:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- 解决没有main函数报错unable to find main class 的问题-->
                <executions>
                    <execution>
                        <phase>none</phase>
                    </execution>
                </executions>
                <!--打成可被依赖jar结构-->
                <configuration>
                    <classifier>execute</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解SpringBoot是如何整合JPA的

    详解SpringBoot是如何整合JPA的

    借助于开发框架,我们已经不用编写原始的访问数据库的代码,也不用调用JDBC或者连接池等诸如此类的被称作底层的代码,我们将从更高的层次上访问数据库,本章我们将详细介绍在Springboot中使用 Spring Data JPA 来实现对数据库的操作,需要的朋友可以参考下
    2021-06-06
  • Java中Aspose组件进行多文档间的转换方法总结

    Java中Aspose组件进行多文档间的转换方法总结

    在本篇文章里我们给大家分享了关于Java中Aspose组件进行多文档间的转换方法内容,需要的朋友们学习下吧。
    2019-02-02
  • Java @Autowired注解底层原理详细分析

    Java @Autowired注解底层原理详细分析

    @Autowired注解可以用在类属性,构造函数,setter方法和函数参数上,该注解可以准确地控制bean在何处如何自动装配的过程。在默认情况下,该注解是类型驱动的注入
    2022-11-11
  • springboot+redis实现简单的热搜功能

    springboot+redis实现简单的热搜功能

    这篇文章主要介绍了springboot+redis实现一个简单的热搜功能,通过代码介绍了过滤不雅文字的过滤器,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • SpringCloud注册中心部署Eureka流程详解

    SpringCloud注册中心部署Eureka流程详解

    Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的
    2022-11-11
  • Java中在控制台读取字符的实现示例

    Java中在控制台读取字符的实现示例

    Scanner是Java中的一个类,可以用于读取控制台输入,通过Scanner对象可以方便地从控制台读取数字或字符串,本文就来介绍一下Java中在控制台读取字符的实现示例,感兴趣的可以了解一下
    2023-10-10
  • Java 获取指定日期的实现方法总结

    Java 获取指定日期的实现方法总结

    以下是对Java中获取指定日期的实现方法进行了归纳总结,需要的朋友可以参考下
    2013-07-07
  • Java加权负载均衡策略实现过程解析

    Java加权负载均衡策略实现过程解析

    这篇文章主要介绍了Java加权负载均衡策略实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • JAVA使用爬虫抓取网站网页内容的方法

    JAVA使用爬虫抓取网站网页内容的方法

    这篇文章主要介绍了JAVA使用爬虫抓取网站网页内容的方法,实例分析了java爬虫的两种实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • JDK8的lambda方式List转Map的操作方法

    JDK8的lambda方式List转Map的操作方法

    account是一个返回本身的lambda表达式,其实还可以使用Function接口中的一个默认方法代替,使整个方法更简洁优雅,这篇文章主要介绍了JDK8的lambda方式List转Map,需要的朋友可以参考下
    2022-07-07

最新评论