【发布时间】:2019-04-17 11:45:53
【问题描述】:
我有一个案例需要使用以下方法解压库:
spring-boot:repackage:requiresUnpack
否则,项目中的其他库将无法正常工作。如链接中所述,所选库已解压缩并复制到临时目录。如果我想让应用程序运行的时间长于临时文件的到期时间,那么将库解压到临时目录并不是一个好主意。文件将被删除,应用程序将停止正常工作。
- 有没有办法指定不同的目标目录?
- 临时位置是应用程序库的好地方,有什么原因吗?
到目前为止,我能够通过覆盖 TMP 和 TEMP 环境变量来更改位置目标位置,但从长远来看,这听起来很糟糕。
在这里获得任何帮助。
【问题讨论】:
-
你试过 outputDirectory docs.spring.io/autorepo/docs/spring-boot/1.5.10.BUILD-SNAPSHOT/…
-
是什么导致你解压这个库?鉴于 spring-boot 是按惯例实现的,并且此步骤超出了惯例,我个人对您的问题的解决方案是找出不需要解包库的解决方案。
-
outputDirectory 用于定位目标 jar 文件,而不是运行时解压库的位置; @Kieveli 此功能由 spring-boot docs.spring.io/spring-boot/docs/current/reference/html/… 支持,完全适合我需要使用的情况;不幸的是,我正在处理我无法更改的专有库
-
我仍然对需要解压它的原因感到好奇——但如果你不想分享,那也没关系。我的 spring-boot 作为 Tomcat 实例运行。使用 tomcat,它经常使用临时空间来运行 Web 应用程序。这并不意味着临时文件夹将被任意删除。您是否遇到过在 Web 服务运行时解压的库被删除的问题?
-
我无法分享有关库的详细信息(保密),但它需要解包才能正常工作。是的,当应用程序突然停止工作(10 天后)并出现类似 ClassNotFound 的异常时,我在生产环境中遇到了这个问题。
标签: java spring maven spring-boot spring-boot-maven-plugin