[英]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.