use*_*889 58 java intellij-idea
我开始使用Gradle和Intellij但是我遇到了配置Gradle的JVM的问题.当我开始一个新的Gradle项目时,我不允许将JVM定义为我的JAVA_HOME变量.以下屏幕截图显示了正在发生的事情:

正如你所看到的,Intellij说我的JAVA_HOME变量没有定义,但是如果我输入echo $JAVA_HOME我可以得到我的Java目录,在我的情况下:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
我的./~bash_profile配置如下:
export JAVA_HOME=$(/usr/libexec/java_home)
有人能想出发生了什么吗?谢谢!
小智 94
有点直观,但您必须首先为Java项目设置SDK.在IntelliJ欢迎屏幕的右下角,选择"配置>项目默认值>项目结构".
左侧的"项目"选项卡将显示您没有选择SDK:
因此,您必须单击下拉列表右侧的"新建..."按钮并将其指向JDK.之后,您可以返回导入屏幕,并且应该使用您的JAVA_HOME变量填充它,只要您拥有此设置即可.
小智 8
如果您想通过intellij识别您的JAVA_HOME,您可以执行以下操作之一:
launchctl setenv JAVA_HOME "/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home"要直接回答您的问题,您可以在〜/ .bash_profile中添加launchctl行
正如其他人已经回答的那样,您可以通过在项目结构中设置SDK来忽略JAVA_HOME.
在我的情况下,我需要一个较低的JRE,所以我不得不告诉IntelliJ在"平台设置"中使用另一个
到目前为止,还没有人回答实际问题。
有人可以弄清楚发生了什么事吗?
这里的问题是,虽然your 的值$JAVA_HOME 正确,但是您在错误的位置定义了它。
~/.bash_profile文件。因此,当您输入时echo $JAVA_HOME,它将返回在那里设置的值。~/.bash_profile......何必呢?因此,对于IntelliJ,未设置此变量。有两种可能的解决方案:
"/Applications/IntelliJ IDEA.app/Contents/MacOS/idea"。该idea过程将继承已export编辑的Bash的所有环境变量。(自从完成后export JAVA_HOME=…,它就可以工作!),或者,复杂的方法:设置适用于所有程序的全局环境变量,不仅适用于Bash会话。这比您想象的要复杂,例如,在这里和这里进行了解释。你应该做的是跑步
/bin/launchctl setenv JAVA_HOME $(/usr/libexec/java_home)
Run Code Online (Sandbox Code Playgroud)
但是,重新启动后将重置此设置。为了确保每次启动都运行此命令,请执行
cat << EOF > ~/Library/LaunchAgents/setenv.JAVA_HOME.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>setenv.JAVA_HOME</string>
<key>ProgramArguments</key>
<array>
<string>/bin/launchctl</string>
<string>setenv</string>
<string>JAVA_HOME</string>
<string>$(/usr/libexec/java_home)</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
EOF
Run Code Online (Sandbox Code Playgroud)
请注意,这也会影响终端程序,因此无需在中添加任何内容~/.bash_profile。
| 归档时间: |
|
| 查看次数: |
81194 次 |
| 最近记录: |