2

我遇到了一个非常奇怪的问题,这让我发疯了.-。我在 Windows 上做一个比较大的 Java 项目,使用 NetBeans 和 IzPack 准备图形安装包。一切正常,编译后的安装程序似乎可以工作,我的程序被复制到“C:\Programs\MyProject”文件夹中。

但是...当我双击该文件夹中的 myproject.jar 时,它根本没有启动。我显然试图打开一个提示并输入“java -jar myproject.jar”但什么也没有,甚至没有一行错误代码。奇怪的事实有两个:

  • 如果我使用具有管理权限的提示打开它,它可以工作
  • 在同一个文件夹中还有另一个 jar,由 izpack 创建的“uninstaller.jar”,它可以通过双击来工作。

我仔细检查了我的 JVM 安装、PATH/JAVA_HOME/... 值和我的 JAR 的 Properties->Security 选项卡,但是每种用户的执行/读/写权限都可以,并且也等于卸载程序.

所以有什么问题?谢谢

4

1 回答 1

2

这几乎肯定是由 Vista 和 Windows 7 上的 Windows UAC 引起的。

您的程序可能正试图写入与它安装在同一目录中的数据文件。

在 Windows 上,行为良好的程序会写入用户或所有用户的应用程序数据目录。

该目录的位置因 Windows 版本而异。

您可以使用系统属性“user.home”来找到存储数据的安全位置。

您还可以从此处获取共享和每个用户程序数据文件夹的环境变量列表。

于 2011-09-13T17:39:07.007 回答