51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

springboot聚合工程部署时遇到的坑

今天打包springboot聚合项目的时候,遇到了一个问题,一直报ClassNotFoundException

明明打包都打好了,运行的时候报这个错,弄了好久,解压jar包一看,怎么多了个目录?!

这个目录叫BOOT-INF,打开一看,里面是com文件。。。原来罪魁祸首就在这里,把BOOT-INF里的目录挪出来,然后就不报错了。。项目终于发布上线了!开心~

|---------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | hljs xml 1.spring-boot maven打包,一般pom.xml文件里会加 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> 这样打的jar里会多一个目录BOOT-INF。 2.引起问题,程序包不存在。 3.解决办法,如果A子模块包依赖了B子模块包,在B子模块的pom文件,加入 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> |

|-------------|----------------------------------------------------------------| | 1 2 | hljs shell #如果不加这个配置,聚合工程打包后目录结构为 BOOT-INF META-INF org |

|-------------|-------------------------------------------------------------| | 1 2 | hljs shell #但我们实际需要的是这样 com META-INF application.yml |

赞(2)
未经允许不得转载:工具盒子 » springboot聚合工程部署时遇到的坑