【发布时间】:2014-11-25 18:31:44
【问题描述】:
我有一个 java 程序,我通过用 C++ 编写部分代码对其进行了一些优化。我将 C++ 可执行文件包含在自包含的可运行 jar 中。当程序运行并且我需要使用这个可执行文件时,我将它解压到当前文件夹并运行它。
我发现的问题是,当我提取文件时,它似乎不再被视为可执行文件。该文件在压缩到 jar 之前工作得非常好,但解压后我无法在 shell 中运行它。我还尝试使用 java "jar xf" 命令提取文件并查看我的代码是否存在错误,但我仍然发现相同的问题。
我当前的 java 版本是 1.7.0.51,我正在让程序在目前卡在这个 java 版本上的计算机上运行。
【问题讨论】:
-
您是否以管理员权限运行 jar?
-
解压后的exe还有执行权限吗?
-
那是问题所在,我给了错误文件的执行权限。
-
在打包之前和解压之后,您是否计算过文件的某些代码(md5 或 sha1)?