Help us understand the problem. What is going on with this article?

Gradle経由でBuildを実行したときのパス設定

Gradle経由でBuildを実行したときのパス設定

環境

Java

>java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

Windos環境

>systeminfo
OS 名:Microsoft Windows 10 Pro for Workstations

対象資材

Spring Initializer

  • gradle Project
  • Java
  • 2.4.0
  • Dependencies に 「Web」だけ追加

エラー内容

gradleを含むプロジェクトファイルを実行できない

以下のエラーが発生

>Gradle -version
ERROR: JAVA_HOME is set to an invalid directory: C:\Users\hoge\jdk-11.0.1\bin
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

原因

gradlewの JAVACMDパス設定に「bin」が含まれている

修正前

# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
        # IBM's JDK on AIX uses strange locations for the executables
        JAVACMD="$JAVA_HOME/jre/sh/java"
    else
        JAVACMD="$JAVA_HOME/bin/java"
    fi
    if [ ! -x "$JAVACMD" ] ; then
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME

修正後

# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
        # IBM's JDK on AIX uses strange locations for the executables
        JAVACMD="$JAVA_HOME/jre/sh/java"
    else
        JAVACMD="$JAVA_HOME/java"
    fi
    if [ ! -x "$JAVACMD" ] ; then
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
shava2C
【某SIer平社員の備忘録】 4年目の官公庁系SIerから今回こそはと本気で始動。 主に業務アプリケーション(Java、.NET、C#)のなんちゃって開発リーダーとかを担当。 PJでは、テスト自動化ツールなんか作っちゃったり。 「楽しい仕事をしてクライミングとサウナする」を標語に今の地獄を抜け出そうではないか!!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away