Eclipse在Ubuntu上找不到Java

9

我的Ubuntu 12.04中已经正确安装了Java,并在.bashrc文件中设置了PATH变量。

命令java -version的输出结果正常。

但是当我尝试启动Eclipse时,它报告JDK未找到。

enter image description here


5
这可能是一个适合在http://askubuntu.com/上提出的好问题。 - Jeffrey
您的 PATH 变量是否包含 JRE 安装路径? - Tudor
可能是Eclipse无法启动的重复问题。 - finnw
8个回答

11
你可能需要编辑你的eclipse.ini文件并在那里提到路径。阅读这个获取更多细节。

编辑:

 -vm
/opt/sun-jdk-1.6.0.02/bin/java

这是.vm参数在.ini文件中应该如何设置。如果不正确,请进行更改。但要注意路径。通常情况下,Java安装在/opt目录下,但请在系统上确认一次。

另外,请查看这个问题。


但过去我曾在Ubuntu上使用Eclipse而不用编辑eclipse.ini文件。 - siva636
Eclipse的启动由.ini文件控制。有时候,.ini文件可能没有正确的路径,这可能是您遇到问题的原因。 - Kazekage Gaara

6

我看你已经在shell中设置了PATH环境变量,但是使用某个菜单项或快捷方式启动Eclipse时,上下文使用的是不同的PATH。

一种选择是像其他答案所说的那样更改eclipse.ini文件。

另一种选择是尝试找出为什么Eclipse使用与命令路径中不同的PATH启动。(“修复”可能只是注销并重新登录以使启动器获取更新的PATH设置。或者启动器可能从其他地方获取不正确的PATH设置。)


1
@DUKE - 我不使用Ubuntu。尝试重新注销/登录。顺便说一下,我总是从命令行启动Eclipse,以避免出现这样的问题。但我有点像卢德(luddite)... :-) - Stephen C
@DUKE - 你已经注销/重新登录了吗? - Stephen C
我尝试了注销/登录,但似乎没有任何效果。 - siva636
1
我认为这个问答可能会解决你的问题:http://askubuntu.com/questions/103741/which-path-variable-is-valid-for-launchers - Stephen C
1
.bashrc 不是放置 PATH 的正确文件。 .bashrc 仅适用于非登录 shell(例如您打开的新终端窗口)。请将 PATH 变量放置在 .bash_profile 中。这将为登录 shell 执行(GUI 是登录 shell 的子进程)。 - Dunes
显示剩余3条评论

5
在Ubuntu中,Java通常位于/usr/lib/jvm/<your_java_version>,但是Ubuntu通常会在/usr/lib/jvm/java-7-sun创建一个符号链接到当前版本的Java。这个符号链接可能存在也可能不存在,这取决于您如何在计算机上安装Java,现在它已经不再在存储库中提供。
导航到/usr/lib/jvm/并输入ls命令以找到Java所在的适当文件夹。一旦确定了位置,请查找名为libjvm.so的文件。
在我的机器上,-vm参数看起来像这样:
-vm
/usr/lib/jvm/java-6-sun/jre/lib/amd64/server/libjvm.so

确保路径在-vm的下一行,否则它将不起作用。


在我的情况下,值的开头有一个空格字符。感谢您解决了这个问题。 - Rahal Kanishka

1

您可以在eclipse.ini文件中添加以下内容,明确告诉Eclipse会话要使用哪个JDK/JRE启动:

-vm home/..../jre/bin/javaw.exe

0

通过软件包管理器安装eclipse,你就不会遇到这个问题。

你在家目录中手动安装了eclipse,并且eclipse试图找到它所安装的jre,但你可能没有下载带有自己jdk版本的eclipse。因此,它需要一些额外的帮助才能正常工作。

如我上面所说,删除当前安装并通过软件包管理器重新安装。


Ubuntu软件中心似乎提供了Eclipse的较旧版本。 - siva636

0

Eclipse 的自述文件帮助我清晰地解决了这个问题。

如果这似乎解决了问题,那么问题很可能与使用 GCJ 作为运行 Eclipse 的 Java 运行时有关。可以修改位于 Eclipse 文件夹内的 eclipse.ini 文件,以便在启动 Eclipse 时自动传递此参数给 Eclipse。以下是其内容的示例:

  -showsplash
  org.eclipse.platform
  -vm
  /opt/jdk-1.8/bin/java
  -vmargs
  -Xms256m
  -Xmx1024m

所以我必须把这一行放在-vmargs之前


嗯,我的建议是卸载GCJ并安装OpenJDK。GCJ已经多年来处于“生命结束”状态,并在2016年从GCC源代码树中删除;请参见https://en.wikipedia.org/wiki/GNU_Compiler_for_Java和https://dev59.com/Y2865IYBdhLWcg3wA5uc。 - Stephen C

0

按照以下步骤定义路径变量,使所有手动安装的JDK可用于所有启动器

步骤:

1-

 cd /etc/

2-

sudo vim ~/.profile

3- 在您的第二步打开文件中添加以下代码

  PATH="$HOME/bin:$HOME/.local/bin:/usr/lib:$PATH"

  JAVA_HOME="/usr/lib/jvm/jdk1.7.0_79"

  export JAVA_HOME

  PATH=$PATH:$JAVA_HOME/bin

  export PATH

4-重新启动您的系统


为什么您要 cd/etc 目录,但又在用户的主目录下编辑 .profile 文件呢? - Greenonline

-1

-vm /home/{Users_Directory}/Desktop/jdk-8u251-linux-x64/jdk1.8.0_251/bin


这是我在SpringToolSuite4.ini文件中设置路径的方式,所以您也可以检查您的JDK安装文件夹,然后按照相同的方式进行操作。 - Manash Ranjan Dakua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接