maven发布jar包运行时找不到类问题

左直拳 2021-02-23 16:00:06
maven 发布 运行时 jar 运行


我们有个公共类库,编译成jar包,供其他项目调用。

然鹅,有一个项目也编译成一个jar包,以命令行的方式运行,结果提示找不到这个公共类库。

打开项目jar包,里面是有公共类库jar包的。只不过,它没有跟一般的jar包放在一起,比如放在

BOOT-INF\lib

而是放在了

BOOT-INF\classes\libs

估计就是这个原因,运行时找不到了。为什么放在这里,就找不到呢?不知道。我目前还不知道原因。但是,开发阶段,在idea里运行就好好的。看来还是打包的问题。

为啥公共类库包会放在BOOT-INF\classes\libs呢?原因是依赖的方式是这样写的:

<dependency>
<groupId>com.monkey</groupId>
<artifactId>lt-framework</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${
project.basedir}/src/main/resources/libs/lt-framework-1.0.0.jar</systemPath>
</dependency>

在这里插入图片描述
这样做的好处是,多人开发的情况下,这个依赖包的版本是一致的。当然,将包发布到内部仓库也可以,但我们没搞这个东东。总之吧,用了上面说的,在本地文件夹寻找包的依赖方式,毛病出来了,怎么办?

其实就是在pom.xml的build里声明一下:

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

这样子发布以后,公共包也会拷贝一份到BOOT-INF\libBOOT-INF\classes\libs还是有,浪费,不知怎么设置去掉),运行正常。

版权声明
本文为[左直拳]所创,转载请带上原文链接,感谢
https://leftfist.blog.csdn.net/article/details/113613649

  1. Redis 日志篇:系统高可用的杀手锏
  2. Java中把一个对象的值复制给另外一个对象引发的思考
  3. Java serialization / call wildfly service interface exception: ejbclient000409
  4. Docker compose deploy stack
  5. Mac下查看已安装的jdk版本及其安装目录
  6. Redis log: the killer of system high availability
  7. mybatis映射xml配置文件报错:<statement> or DELIMITER expected, got ‘id‘
  8. Thinking about copying the value of one object to another in Java
  9. IntelliJ IDEA 还能画思维导图,果然最强 IDE!
  10. vue使用sdk进行七牛云上传
  11. IntelliJ IDEA 还能画思维导图,果然最强 IDE!
  12. Spring原来还可以这么玩!阿里新产Spring全线宝典成功颠覆了我对Spring的认知!
  13. View the installed JDK version and its installation directory under mac
  14. Error in mybatis mapping XML configuration file: < statement > or delay expected, got 'ID‘
  15. IntelliJ IDEA 还能画思维导图,果然最强 IDE!
  16. Javascript性能优化【内联缓存】 V8引擎特性
  17. IntelliJ idea can also draw mind maps. It's really the strongest ide!
  18. Vue uses SDK to upload Qi Niu cloud
  19. IntelliJ idea can also draw mind maps. It's really the strongest ide!
  20. 深入理解 Web 协议 (三):HTTP 2
  21. Spring can still play like this! Ali's new spring product has successfully overturned my understanding of spring!
  22. IntelliJ idea can also draw mind maps. It's really the strongest ide!
  23. JavaScript performance optimization [inline cache] V8 engine features
  24. linux 配置java环境
  25. linux find 查找文件
  26. 深入理解 Web 协议 (三):HTTP 2
  27. IntelliJ IDEA 相关问题记录
  28. Deep understanding of Web protocol (3): http 2
  29. 深入理解 Web 协议 (三):HTTP 2
  30. 腾讯IEG开源AI SDK:自动化测试吃鸡、MOBA类游戏
  31. Mysql Command
  32. Configuring Java environment with Linux
  33. Find files in Linux
  34. docker-Dockerfile 创建镜像
  35. Redis Cluster
  36. 深入理解 Web 协议 (三):HTTP 2
  37. JavaScriptBOM操作
  38. JavaScriptBOM操作
  39. Deep understanding of Web protocol (3): http 2
  40. Record of IntelliJ idea related problems
  41. Deep understanding of Web protocol (3): http 2
  42. Tencent IEG open source AI SDK: automatic testing of chicken eating and MoBa games
  43. Mysql Command
  44. Docker dockerfile create image
  45. Redis Cluster
  46. 死磕Spring之IoC篇 - 文章导读
  47. Deep understanding of Web protocol (3): http 2
  48. JavaScript BOM operation
  49. JavaScript BOM operation
  50. 死磕Spring之IoC篇 - 文章导读
  51. k8s node 操作与维护
  52. k8s 证书更新
  53. 【Java面试题第三期】JVM中哪些地方会出现内存溢出?出现的原因是什么?
  54. HashMap连环问你能答出几道?
  55. k8s-cronjob
  56. k8s-cert
  57. Spring: an introduction to IOC
  58. Spring: an introduction to IOC
  59. Operation and maintenance of k8s node
  60. K8s certificate update