java.lang.NoClassDefFoundError:无法初始化类java.awt.Component

时间:2012-05-19 22:07:16

标签: java matlab

当我在Ubuntu中运行MATLAB安装脚本时,我得到以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class java.awt.Component

可提供更长的输出here

我知道这是一个Java问题,并且可能通过更改类路径或类似的东西来修复,但我不知道如何。

任何想法?

4 个答案:

答案 0 :(得分:6)

对我来说,当我在我的系统上安装JRE时,此错误已得到修复:

apt-get install default-jre

在Ubuntu 12.04上,而不是让MATLAB使用它自己的。

答案 1 :(得分:2)

我整个晚上一直在和这个问题作斗争,但我偶然发现了一个对我有用的解决方案。

尝试使用静默安装程序进行安装后,我收到了一个不同的错误信息。原来,缺少一个库(libXtst.so.6)。我能够在我的Ubuntu系统上安装:

apt-get install libxtst6

之后我尝试运行GUI安装程序(通过X转发),看起来它现在可以正常工作。

答案 2 :(得分:1)

对于MATLAB R2012a学生版,在Ubuntu 14.04中,我必须首先安装这些先决条件:

sudo apt-get install default-jre libxtst6:i386 libXext6:i386 libxi6:i386 libncurses5:i386 libxt6:i386 libxpm4:i386 libxmu6:i386 libxp6:i386

接下来,我按照MATLAB的说明(sudo ./install)安装/激活。我回答说#34;是的"当安装程序要求在/ usr / local / bin /

中添加符号链接时

最后,在启动MATLAB时,我必须指定它以32位模式运行:

matlab -glnx86

我从这个答案汇总了这些步骤:https://askubuntu.com/questions/363878/how-to-install-32-bit-matlab-in-ubuntu-64-bit

和Ubuntu MATLAB指南: https://help.ubuntu.com/community/MATLAB

可选

每次启动MATLAB时我都不想键入-glnx86选项,所以我用自动指定-glnx86选项的脚本替换了/ usr / local / bin /中的matlab符号链接:

ls -l /usr/local/bin/matlab #note the destination of the symbolic link
sudo mv /usr/local/bin/matlab /usr/local/bin/matlab.bak
#ensure the first path below matches your symbolic link's destination
echo '/usr/local/MATLAB/R2012a_Student/bin/matlab -glnx86  "$@"' | sudo tee /usr/local/bin/matlab
sudo chmod +x /usr/local/bin/matlab

有了这个,我可以输入' matlab'它正确启动。 (脚本中的"$@"将所有输入参数转发给matlab。)这可能是一种更优雅的方法来完成此任务,但它有效。

我还遇到了" /lib/libc.so.6:找不到" matlab启动时出错,我通过this answer来修复。

答案 3 :(得分:0)

安装gnome(sudo apt-get install gnome)为我解决了这个问题。我确信这是完全矫枉过正的,但现在可以使用所需的库。