当前位置: 代码迷 >> java >> 战争档案中的可执行文件
  详细解决方案

战争档案中的可执行文件

热度:104   发布时间:2023-07-26 14:16:42.0

作为应用程序战争的一部分,我们希望提供一些帮助程序脚本(shell脚本)。 不幸的是,看起来我们的构建系统(maven)放弃了所有文件的权限,并且脚本最终没有设置可执行位。

甚至有可能做到这一点? .war格式是否支持可执行文件? 如果是:如何告诉Maven在过程中保留权限/将其修复?

问题很可能是基础zip格式不支持这些位。

如果您使用脚本名称显式执行/ bin / sh,则无需设置执行位。

另请注意,您的程序-知道脚本的位置-可以在启动前调用“ chmod + x script.sh”。

您还可以直接从Java代码检查并设置可执行标志。 请参阅

AFAIK,无法在war / jar中设置文件权限(但是,当使用Maven组件插件创建项目的二进制分发归档文件时,这是可能的,但这是另一回事了)。

因此,我要么:

  • 交付(作为二进制发行版)并在webapp外部运行这些脚本?或?
  • 从类路径中读取文件,将它们写入java.io.tmpdir目录,设置执行位,然后从那里执行它们
  • 使用@Thorbj?rn解决方案(没有尝试过,但我想它会起作用); 我只是想知道从哪里执行这些脚本。

在WAR之外提供可执行文件。 从WAR内致电给他们。

  相关解决方案