0

我有一个使用本地 $PATH 变量的 JNLP 应用程序。它从 Web、命令行、菜单系统和 Java 控制面板启动并正常运行。当我从 CentOS 7 上的桌面快捷方式启动它时,$PATH 就是

/bin:/lib:/usr/bin:/usr/lib:/usr/share/bin:/usr/share/lib

不管我在 /etc/profile.d/、~/.bashrc 或我能找到的任何其他地方放了什么。它似乎只影响 CentOS 7。CentOS 6.x、OS X 和 Windows 在从其桌面环境启动时都正常运行。

出于特定的应用程序需求原因,我在 64 位 CentOS 7 上使用 Oracle 的 32 位 Java 1.8.0_60。我已经卸载了 IcedTea,但仍然安装了 OpenJDK 1.7,尽管 JNLP 应用程序没有使用它,并且替代方案已配置为使用 Oracle 的。

4

1 回答 1

0

我发现的最佳解决方案是:

  1. 在 Java 控制面板 > 高级设置中禁用快捷方式创建
  2. 创建一个包含这两行的 shell 脚本:
    source /etc/profile
    javaws < location-of-jnlp >
    
  3. 创建一个调用 shell 脚本的 .desktop 文件

这不是一个理想的解决方案,但它适用于短期。

于 2015-09-01T16:46:01.323 回答