即使安装了 OpenJDK JRE,FreeMind 也不会运行

Hus*_*sni 5 java openjdk

我从 USC Ubuntu 12.04 安装了 FreeMind,但它无法运行并出现以下错误:

[warning] /usr/bin/freemind: No java runtime was found
[error] /usr/bin/freemind: Unable to find an appropriate java runtime. See java_wrappers(7) for help"
Run Code Online (Sandbox Code Playgroud)

已安装 OpenJDK Java 6 运行时。

小智 5

在从 Ubuntu 存储库安装了 FreeMind 0.9.0 的 Ubuntu 12.04/GNOME Shell 上,这就是我得到的:

freemind
[warning] /usr/bin/freemind: No java runtime was found
[error] /usr/bin/freemind: Unable to find an appropriate java runtime. See java_wrappers(7) for help

java -version
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/jre/bin/java   12        auto mode
  1            /usr/lib/jvm/java-7-oracle/bin/java       4         manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java   12        manual mode

Press enter to keep the current choice[*], or type selection number: 0

whereis java
java: /usr/bin/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz
ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 May 16  2012 /usr/bin/java -> /etc/alternatives/java

Actual Path:
ls -l /usr/lib/j*
/usr/lib/java-wrappers:
total 20
-rwxr-xr-x 1 root root 1033 Apr  2  2011 get-classpath
-rw-r--r-- 1 root root 9122 Jan 12 15:42 java-wrappers.sh
-rw-r--r-- 1 root root 2302 Jan 12 15:41 jvm-list.sh

/usr/lib/jvm:
total 4
lrwxrwxrwx 1 root root   26 Sep  6 11:56 default-java -> /usr/lib/jvm/java-7-oracle
drwxr-xr-x 8 root root 4096 Dec 13 12:37 java-7-oracle

Troubleshoot:
"/usr/lib/java-wrappers/jvm-list.sh" has the below setting, which is correct path.

#va-wrappers(7) default runtime
__jvm_default="/usr/lib/jvm/default-java/"
Run Code Online (Sandbox Code Playgroud)

错误来自/usr/lib/java-wrappers/java-wrappers.sh,它似乎没有从其文件中加载以下内容。

# Import the list of JVMs
. /usr/lib/java-wrappers/jvm-list.sh
Run Code Online (Sandbox Code Playgroud)

我把它改成:

./usr/lib/java-wrappers/jvm-list.sh
Run Code Online (Sandbox Code Playgroud)

但它没有用。

解决方案:

这是通过在/usr/lib/java-wrappers/java-wrappers.sh文件中添加以下内容,在尝试查找的位置下进行反复试验后起作用的方法,

if [ -z "$JAVA_HOME" ]; then, 在 vi​​ 的第 90 行对我来说。

#DIRS=""
        # Added 2013-01-12 not being found from jvm-list
        DIRS="$__jvm_default"
        #DIRS="/usr/lib/jvm/default-java"
Run Code Online (Sandbox Code Playgroud)

我注释掉DIRS=""变量并将其更改为

DIRS="$__jvm_default"
Run Code Online (Sandbox Code Playgroud)

或者

DIRS="/usr/lib/jvm/default-java"
Run Code Online (Sandbox Code Playgroud)

他们俩都工作了。


Ter*_*ang 3

运行update-alternatives --config java并确保配置正确。

在终端中运行java -version并查看输出。

来自 freemind 网站:http://freemind.sourceforge.net/wiki/index.php/Download

Freemind 可能无法与 OpenJDK 一起使用。我建议安装 Sun/Oracle JRE/JDK。

在 Ubuntu 上安装它的简单方法(从 OTN 二进制文件构建 .deb 软件包并设置本地存储库,使用 apt-get 进行安装;-)在此处查看:https: //github.com/flexiondotorg/oab-java6

  • 如果系统上只安装了一种 Java,并且这是当前的 Oracle Java 8,则上述内容不会有帮助。——看看我下面的回答 (2认同)