没有“打开方式”选项来使用 openjdk 打开/运行 jar 文件

没有“打开方式”选项来使用 openjdk 打开/运行 jar 文件

我跑了

sudo apt-get install openjdk-7-jre

它说

Reading package lists... Done
Building dependency tree       
Reading state information... Done
openjdk-7-jre is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 229 not upgraded.

但是,在我的 /usr/share/applications 文件夹中,没有 openjdk-7-jre.desktop。
我在计算机上找到的唯一与 openjdk 相关的文件是 OpenJDK Java 7 Policy Tool。我做错了什么?
我使用它双击即可运行 .jar 文件。我已经可以从终端运行它们了,但没有针对 java 的打开方式选项

答案1

由于某种原因,没有适用于 OpenJDK 7 的桌面文件。

$ apt-file list openjdk-7-jre | grep desktop        
openjdk-7-jre: /usr/share/applications/openjdk-7-policytool.desktop

$ dpkg --get-selections | grep openjdk-7
openjdk-7-jre:amd64             install

使用此命令安装 Java,以获取所需的条目:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

进而

sudo apt-get install oracle-java7-set-default

或者你可以desktop为 OpenJDK7 创建一个文件

在中创建新文件~/.local/share/applications/

nano ~/.local/share/applications/openjdk7.desktop

并添加以下几行:

[Desktop Entry]
Encoding=UTF-8
Name=Open JDK 7 Runtime
Comment=Open JDK 7 Runtime
Exec=/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -jar %f
Terminal=false
Type=Application
Icon=java
MimeType=application/x-java-archive;application/java-archive;application/x-jar;
NoDisplay=true

更换线路

Exec=/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -jar %f

以及 Java 安装的位置。您可以使用以下命令检查已安装的 JRE:

update-alternatives --display java

示例输出

java - auto mode
  link currently points to /usr/lib/jvm/java-9-oracle/bin/java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priority 1071
  slave java.1.gz: /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java - priority 1081
  slave java.1.gz: /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz
/usr/lib/jvm/java-8-oracle/jre/bin/java - priority 1083
  slave java.1.gz: /usr/lib/jvm/java-8-oracle/man/man1/java.1.gz
/usr/lib/jvm/java-9-oracle/bin/java - priority 1084
Current 'best' version is '/usr/lib/jvm/java-9-oracle/bin/java'.

相关内容