Spring Boot Maven插件并需要Unpack目标目录

时间:2018-11-14 13:30:12

标签: java spring maven spring-boot spring-boot-maven-plugin

在某些情况下,我需要使用以下命令解压缩库:

spring-boot:repackage:requiresUnpack

否则,项目中的另一个库将无法正常工作。如链接中所述,选定的库将解压缩并复制到临时目录中。如果我想使应用程序运行的时间比temp文件的到期时间更长,则将库解压缩到temp目录并不是一个好主意。文件将被删除,应用程序将停止正常运行。

  • 是否可以指定其他目标目录?
  • 为什么临时位置是应用程序库的合适位置?

到目前为止,我已经能够通过覆盖 TMP TEMP 环境变量来更改位置目标位置,但从长远来看,这听起来像是一个糟糕的主意。

在这里申请任何帮助。

1 个答案:

答案 0 :(得分:1)

这个问题不仅限于“ requiresUnpack”,这是spring-boot / tomcat处理其临时文件的方式。因此,在其他地方也可能会让您感到惊讶。

存在描述该行为的问题:https://github.com/spring-projects/spring-boot/issues/5009

解决方法:

  • 使用server.tomcat.basedir定义Tomcat基本目录。如果未指定,则使用一个临时目录。
  • 使用-Djava.io.tmpdir=/var/tmp使用其他临时目录启动应用。

另一种解决方案是不解压缩库。不要将其存储在胖子罐中,而应将其存储在类路径中的某个位置。