java - 在 UNIX 上使用 Java 部署和执行某些东西

标签 java unix zip setup-deployment

我有一个正在运行的 Java 进程(守护进程)。这个过程就像服务一样使用。通过该服务,我可以从受信任的服务器下载签名的 zip 存档。解压 ZIP 存档后,我想在“解压”文件夹中执行二进制文件。

问题是这个二进制文件不可执行(在其文件模式中没有“x”)...我知道可以用 Java 设置它,但我想要一种通用的方法。

您对如何以良好的方式进行部署有任何想法吗?

(是的,需要是Java)

基本上,我想在解压 ZIP 存档后恢复 Unix 文件模式位。是否有可以执行此操作的 Java Lib?

最佳答案

你可以很容易地 call chmod从您的 Java 应用程序中添加缺少的 x 位的命令。 chmod 在 Unix 上是标准的,就像可执行文件 (x) 本身一样。

或者你可以这样做straight from Java .

但是,如果您希望可执行位在解压缩时保持设置,您可能不应该使用 Java 解压缩库。尝试使用 Unix unzip命令来解压缩您的存档 - 它已经支持存储和恢复 Unix 文件模式位已有一段时间了。如果您的 Unix 供应商没有它,您可以从 the source 获得它。 .

关于java - 在 UNIX 上使用 Java 部署和执行某些东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9522062/

相关文章:

java - Java 支持什么版本的 ZIP(1.6 - 或与此相关的任何版本)

java - 调用 onPause 时保存大量数据?

java - 回到之前的 JPanel

bash - 从远程服务器调用的脚本无法正确运行服务

Java 代码到 UNIX 服务器中的 Zip/FTP 目录

Perl 的文件测试运算符 -f 对符号链接(symbolic link)返回 true

Android studio 错误 : java. util.zip.ZipException: zip 文件为空

python - 如何将具有更多条目的 SQLite 数据库压缩为更小的文件大小?

java - 减少下一次迭代的列表长度

java - Android:相机表面 View 模糊