代码之家  ›  专栏  ›  技术社区  ›  Grzegorz Gajos

Spring Boot Maven插件和RequireUpack目标目录

  •  2
  • Grzegorz Gajos  · 技术社区  · 7 年前

    spring-boot:repackage:requiresUnpack

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

    • 有没有办法指定不同的目标目录?
    • 为什么临时位置是应用程序库的好位置?

    环境变量,但从长远来看,这听起来是个糟糕的主意。

    1 回复  |  直到 7 年前
        1
  •  2
  •   zibi    7 年前

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

    https://github.com/spring-projects/spring-boot/issues/5009

    解决办法:

    • 使用 server.tomcat.basedir 定义Tomcat基本目录。如果未指定,则使用临时目录。
    • 使用 -Djava.io.tmpdir=/var/tmp 使用不同的临时目录启动应用程序。

    另一个解决方案是不要打开您的库。不要将其存储在胖罐子中,而是将其存储在类路径上的某个位置。