解决方案:

解决方案:

我从 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"

OpenJDK Java 6 运行时已安装。

答案1

在从 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/"

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

# Import the list of JVMs
. /usr/lib/java-wrappers/jvm-list.sh

我将其改为:

./usr/lib/java-wrappers/jvm-list.sh

但它没有作用。

解决方案:

经过反复尝试,终于找到了解决办法,在/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"

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

DIRS="$__jvm_default"

或者

DIRS="/usr/lib/jvm/default-java"

他们两个都工作了。

答案2

运行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

答案3

我在安装了最新 Oracle Java 8(未安装其他 JDK)的 Ubuntu 15.04 中遇到了这个问题。我在确定可用 Java 安装的 java-wrappers 文件中发现了问题:

在文件中/usr/lib/java-wrappers/jvm-list.sh,我/usr/lib/jvm/java-8-oracle在第 35 行添加了:

__jvm_oracle8="/usr/lib/jvm/java-8-oracle /usr/lib/jvm/jdk-8-oracle-* /usr/lib/jvm/jre-8-oracle-*"

由于当前安装的 Oracle 8 Java 安装在这个添加的路径中。

答案4

好的,我找到了一个更简单的答案。我正在运行 Ubuntu 14.04,全新安装(昨晚安装)。我使用此处的说明安装了 Oracle Java 8: 在 Ubuntu 中安装 Oracle 8 Java

然后我从软件中心安装了 Freemind,并得到了原始帖子中的确切错误。为了解决这个问题,我做了以下事情:

我以 ROOT 身​​份编辑了以下文件(但您可以使用您选择的编辑器,如果您愿意,gedit 也可以正常工作):

sudo vim /usr/bin/freemind

我在第一个“if”语句之前添加了此行(对我来说是第 18 行,但你的可能不同)

export JAVA_CMD=/usr/bin/java

现在,当我单击 Unity 中的 Freemind 图标时,它就可以起作用了。

享受!

相关内容