簡體   English   中英

如何未設置JAVA_HOME,但Gradle仍然可以運行?

[英]How is JAVA_HOME not set but Gradle can still run?

請注意:這個問題不是偽造的,任何閱讀它的人都會看到。 我不問如何在Mac上找到JAVA_HOME`? 我在問未設置JAVA_HOME時Gradle如何運行。 兩個完全不同的問題。 甚至標題都不同。 仔細閱讀問題的人!


Mac 10.11.6(El Capitan)Java開發人員在此處。 我的機器已經使用了一年多,並且一直在其上構建Java應用程序。

在終端中,如果運行echo $JAVA_HOME則輸出為空/空白:

myMachine:myDir myUser$ echo $JAVA_HOME

壓縮。 娜達 沒什么。 但是如果我運行which java我會得到:

myMachine:myDir myUser$ which java
/usr/bin/java

這樣就安裝了Java,但是$JAVA_HOME卻是空/空/空的。

如果我克隆 ./gradlew run並運行./gradlew run它將完美執行:

./gradlew run
:compileJava UP-TO-DATE
:compileScala
:processResources UP-TO-DATE
:classes
:run
Hello!

BUILD SUCCESSFUL

Total time: 8.478 secs

我想知道:如果未設置JAVA_HOME ,那么Gradle怎么能成功運行? 通過brew安裝Java時不應該設置$JAVA_HOME嗎?


更新:

當我echo $PATH我看到:

/Users/myUser/.rvm/gems/ruby-2.4.0/bin
/Users/myUser/.rvm/gems/ruby-2.4.0@global/bin
/Users/myUser/.rvm/rubies/ruby-2.4.0/bin
/opt/local/bin
/opt/local/sbin
/Users/myUser/.sdkman/candidates/scala/current/bin
/Users/myUser/.sdkman/candidates/sbt/current/bin
/Users/myUser/.sdkman/candidates/maven/current/bin
/Users/myUser/.sdkman/candidates/lazybones/current/bin
/Users/myUser/.sdkman/candidates/groovy/current/bin
/Users/myUser/.sdkman/candidates/gradle/current/bin
/Users/myUser/.sdkman/candidates/ant/current/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/opt/X11/bin
/usr/local/go/bin
/Users/myUser/.rvm/bin
/Users/myUser/.rvm/bin

該文件說:

Gradle uses whatever JDK it finds in your path.
Alternatively, you can set the JAVA_HOME environment variable to point to the 
installation directory of the desired JDK.

檢查您的路徑變量及其值,也許Java已經指向該變量了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM