Eclipse 找不到使用 sdkman 安装的 jdk
Posted
技术标签:
【中文标题】Eclipse 找不到使用 sdkman 安装的 jdk【英文标题】:Eclipse can't find jdk installed with sdkman 【发布时间】:2018-06-23 05:05:40 【问题描述】:我是 sdkman 的新手,但我设法安装了它并用它安装了一些软件:JDK、Gradle 和其他一些软件。问题是,在我下载 Eclipse 并尝试运行它之后,它根本找不到 JDK。我已经导出了 JAVA_HOME 和 PATH。事实上,我实际上可以从终端运行 java、javac 和其他 Java 命令,我什至尝试过使用 update-alternatives。我更改了eclipse文件夹的所有权,没有结果,Eclipse找不到JDK。
我必须使用 apt-get 安装 java,这样 eclipse 才能工作,但是使用 sdkman 有什么用呢?所以我的问题是:为了让 Eclipse 使用 sdkman java 安装,我缺少什么配置。
【问题讨论】:
【参考方案1】:我遇到了同样的问题,并通过在 /usr/bin
中为 java 和 javac 创建一个符号链接来解决它。
sudo ln -s ~/.sdkman/candidates/java/current/bin/javac /usr/bin/javac
sudo ln -s ~/.sdkman/candidates/java/current/bin/java /usr/bin/java
我通过这样做获得了这些位置
which javac
which java
【讨论】:
没有更好的解决方案吗? 我在 macos-mojave 上仍然面临同样的问题 - 我为它发布了一个新问题 - ***.com/questions/56686052/… 当我以超级用户身份执行上面的命令时,它显示“不允许操作” $JAVA_HOME 仍然指向旧版本(安装了 update-alternatives),尽管java
和 javac
指向 SDKMAN!现在的候选人。我该怎么做才能让 $JAVA_HOME 指向我的 SDKMAN!候选人?【参考方案2】:
找到并编辑您的 eclipse.ini 文件并将“-vm”之后的行更改为:
/home/YOURUSER/.sdkman/candidates/java/current/bin
这应该适用于 Linux 系统。我不确定是 Windows 还是 Mac。
【讨论】:
非常感谢!注意我的路径是:/Users/YOURUSER/.sdkman/candidates/java/current/bin【参考方案3】:macOS
对于 macOS,您需要将 -vm
参数设置(或添加)到您的 /Applications/Eclipse.app/Contents/Eclipse/eclipse.ini
,例如:
-vm
/Users/<YOUR_USER>/.sdkman/candidates/java/8.0.272.hs-adpt/jre/lib/jli/libjli.dylib
这现在包含在 eclipse.ini 文档中(有点不明显):https://wiki.eclipse.org/Eclipse.ini#Using_a_JDK_without_macOS_directory_layout
注意:请注意,如果您使用
current
而不是使用特定的 JDK 版本标识符,如果您使用 UI(双击或使用 Spotlight)启动 Eclipse.app,它将使用默认值)。如果您从终端启动它,它将使用当前选择的终端。
【讨论】:
以上是关于Eclipse 找不到使用 sdkman 安装的 jdk的主要内容,如果未能解决你的问题,请参考以下文章
eclipse找不到Pivotal tc server的安装目录
在 Eclipse 的 Crashlytics 安装中找不到存储库