2015-02-09 88 views
0

我正尝试在JavaFX8中创建原生包。主要的构建,安装和执行工作,但我有权限问题。应用程序安装到/ opt(根据文档应该总是这样做),但在所有文件和文件夹上设置了根拥有权限和权限。因此,如果我想在应用程序内创建或下载某个文件,则由于缺少权限而无法执行此操作。适用于Linux的JavaFX原生包

我找不到任何解决方案如何避免这种情况。显然,我不想强​​制用户手动更改权限。有什么方法可以让应用程序在这个文件夹中更改文件吗?或者对于这种情况,安装必须以不同的方式进行?

感谢任何提示

+0

我有与Windows相同的问题(“C:\ Program Files \ ...”)。我认为一般应用程序不应该写在这些目录中(安装后)。您可以使用主目录('System.getProperty(“user.home”)')。 – gfkri 2015-02-09 13:52:33

+0

据我所知,如果应该使用用户文件夹或程序文件,可以定义Windows软件包。不幸的是,这是不可能的。到目前为止,我发现应该可以直接为rpm包设置权限,所以我想知道如何去做。通过e(fx)剪辑或手动。 – user3886894 2015-02-09 14:44:41

+0

是的,这是正确的,这是可能的。但是,我的意思是我宁愿将创建/下载的数据写入用户目录中的单独对应目录中,例如,日食本身就是这样做的('〜/ .eclipse')。 – gfkri 2015-02-09 16:46:46

回答

0

我想我找到解决办法,尽管它仍然需要一些调整。当安装eclipse生成的rpm时,我们可以使用rpm构建工具。只需下载并在终端中使用rpmrebuild -e packagename命令。可以更改每个文件/文件夹的%attr。编辑之后,新的rpm文件被创建(以某种方式更小,也许更好的压缩?),并且可以进一步分发。

仍然不知道如何将root用户的所有权更改为安装的用户,但现在肯定会取得进展。