我从 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 图标时,它就可以起作用了。
享受!