gpt4 book ai didi

java - 如何从 spring-boot jar BOOT-INF\lib 文件夹中提取文件

转载 作者:行者123 更新时间:2023-12-02 03:36:35 25 4
gpt4 key购买 nike

如何在启动 spring-boot 应用程序时提取与 spring-boot jar 打包的 *.zip 文件。我希望它们提取的原因是这些依赖项 *.zip 包含特定于环境的 native 文件(.dll 对于 window 和 .so 对于 linux )。

我想我可以使用https://docs.spring.io/spring-boot/docs/1.4.x/reference/htmlsingle/#howto-extract-specific-libraries-when-an-executable-jar-runs

如何将该临时位置设置为java.libarary.path或者我可以配置该路径吗?

最佳答案

对于“如何获取特定于环境的配置文件?”问题有两种典型的解决方案。

解决方案1:使用一个包含每个环境设置的属性文件。使用特定于环境的属性后缀。这是一个例子:

    dev.port=123456
ist.port=98745
prod.prot=90458

根据应用程序运行的环境,它将选择以下之一端口值。

解决方案 2:Spring-Boot 允许您为应用程序属性配置覆盖文件。执行此操作的一种方法是设置“spring.config.location”调用之前的值springApplication.run 方法。这是一个示例(长字符串包裹起来以适应而不滚动):

springApplicationBuilder.properties(
"spring.config.location=classpath:/default.properties," +
"/local/path/on/deploy/host/config/overrides.properties");
springApplication = springApplicationBuilder.build();

springApplication.run(argumentArray);

编辑:根据评论更新。

考虑执行以下操作:

  1. 将每个主机的 JNDI 文件存储在每个主机本地。
  2. 将 JNDI 文件(在主机上)的路径存储在配置属性中。
  3. 在每台计算机上配置 JNDI 文件路径(通过使用覆盖文件或使用环境变量)。

关于java - 如何从 spring-boot jar BOOT-INF\lib 文件夹中提取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56855865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com