質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

1回答

1972閲覧

MacでのJava環境変数設定で、pathが反映されない

Aleken

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

1クリップ

投稿2021/11/23 10:38

編集2021/11/23 14:41

前提・実現したいこと

初めて質問させていただきます。初級者で、ググっても全然分からずほとほと困っておりお聞きしたく思います。

**MacでJavaの環境変数設定をするにあたって、困っております。

以前、Pleiades all in oneを利用し、既に環境変数の設定を行いJavaを利用出来るようになっておりました。
今回、Springを学ぼうと思い、教材のjdkのバージョンを合わせる為に、サイトより次のバージョンのjdkをダウンロードしました。(jdk-11.0.2.jdk)

フォルダをアプリケーション直下にダウンロードし、下記のパスをコマンドで.bash_profileに追加しました。
具体的にやった手順としては、
open ~/.bash_profileで、ファイルを開き「/Applications/jdk-11.0.2.jdk/Contents/Home/bin」を追記し、command + s で保存しました。その後、一旦 bash.profileやターミナルを閉じました。

その後、echo $PATHを実行した結果は下記の通りです。

/Users/kenta/.nodebrew/current/bin:/Users/kenta/opt/anaconda3/bin:/Users/kenta/opt/anaconda3/condabin:/Users/kenta/.nodebrew/current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/Wireshark.app/Contents/MacOS:/usr/local/mysql/bin:/Applications/jdk-11.0.2.jdk/Contents/bin:/usr/local/mysql/bin

その後、ターミナルを開き直し、echo $PATHを実行したところ、上記で追記した「:/Applications/jdk-11.0.2.jdk/Contents/bin」が出てくることは確認しました。しかし、「java -version」を入力すると
下記が表示されます。

"14.0.2" 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

これは今回通そうとしたパスではなく、以前にPleiadesを利用した際のパスが生きているからでは?と思うのですが、今回設定したい下記のjdkを利用する為にはどのようにすれば良いでしょうか?

jdk-11.0.2.jdk

bash.profileのファイル内にはJava14の記述は一切ない為、どこか違う箇所から読み取っているのではないかと思うのですが、そこがどこか分かりません。その場所の修正が必要であればお伺い出来れば幸いです。

質問にあたり至らない点などあれば、追加で必要箇所を確認しお伝えできればと思います。
何卒、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1T2R3M4

2021/11/23 10:43

>下記のパスをコマンドで.bash_profileに追加しました。 の後のjava -versionまでの手順を質問に追記していただけませんか。
Aleken

2021/11/23 10:49

ご回答ありがとうございます! open ~/.bash_profileで、ファイルを開き「/Applications/jdk-11.0.2.jdk/Contents/Home/bin」を追加した以降、java -version実行までの間にやったことはありません。 何か必要手順がありましたらご教授いただけると嬉しいです。
dodox86

2021/11/23 12:41

> 下記のパスをコマンドで.bash_profileに追加しました。 コマンドで.bash_profileに追加したということですが、具体的にどのように入力、実行しましたか。また、jdk-11.0.2.jdk用に追加したとしても、サーチPATHであるPATH環境変数の中にJava14のものが生きたままなのではないでしょうか。ターミナル上で、echo $PATH と実行してみてください。
dodox86

2021/11/23 12:45

> ご回答ありがとうございます! 1T2R3M4さんのコメントもそうだと思いますが、回答ではなく回答の前に情報が少ないのでそれらを追記していただくためのコメントです。なので「質問への追記・修正の依頼」としています。
Aleken

2021/11/23 13:01

dodox86さん ご返信ありがとうございます。具体的に入力した方法としては下記となります。 open ~/.bash_profileで、ファイルを開き「/Applications/jdk-11.0.2.jdk/Contents/Home/bin」を追記し、command + s で保存しました。その後、一旦 bash.profileやターミナルを閉じました。 echo $PATHを実行したところ、上記で追記した「:/Applications/jdk-11.0.2.jdk/Contents/bin」が出てきました。 既にあるサーチPATHのJava14の方を停止すること等が必要でしょうか? お手数ですが、よろしくお願いいたします。
dodox86

2021/11/23 13:08

> echo $PATHを実行したところ、上記で追記した「:/Applications/jdk-11.0.2.jdk/Contents/bin」が出てきました。 既にあるサーチPATHのJava14の方を停止すること等が必要でしょうか? "java"とコマンド入力した場合、サーチPATHは先頭から見ていって実行するので、Java11よりJava14のものの方が先にあるのであればそれを消すなりしないとダメです。 尚、実行した手順などの詳細情報の追記はこの欄ではなく、質問本文への追記、修正で対応しましょう。そうすることで質問内容の完成度が高くなります。
Aleken

2021/11/23 13:43

.bash_profileを確認したところ、Java14の記述がどこにもありません。念のため、ご指摘いただいた通り、Java11のパスを先頭に記載する修正をしたのですが、再度「java -version」を試してもJava14の表示が出てきてしまいます。 .bash_profileではなく、どこか違うところから読み取ってそれを優先してしまっているということでしょうか。 もしお分かりになりましたら、何度も恐縮ですがお聞き出来れば幸いです。 ※ご助言いただいた質問本文の追記、修正を行いました。
dodox86

2021/11/23 13:49

ではたぶん、bash(ターミナル)の方ではなくシステムの方でJavaを登録しているのではないでしょうか。[Mac OS X(Mojave)でJavaのパス(path)を確認する方法[JDK,JRE]] https://murabitoleg.com/mac-java-path/ 念のため、お使いのmacOSのバージョンなどを示した方が良いと思います。
Crimson_Tide

2021/11/23 14:13

ターミナルで以下コマンドを実行してデフォルトシェルの確認、javac javaのパス確認をしてみてください。(macはいつかのバージョンからかデフォルトシェルがzshに変わっています。現環境を確認するため) echo $SHELL type -a javac type -a java また質問欄に、echo $PATHの実行結果を追記してください。(PATHの設定ミスがないかの確認)
Aleken

2021/11/23 14:35

dodox86さん 教えて頂いたURLよりシステムを確認しましたが、システム環境設定上でJavaのアイコンがなく、Libraryより先のパスがそもそも設定されていなさそうです。。。 ご教授頂きありがとうございます。他にも色々試して見ます。
Aleken

2021/11/23 14:39

Crimson_Tideさん ご返信ありがとうございます。 下記にそれぞれのコマンド実行結果を記載させて頂きます。 echo $SHELL →「/bin/bash」 type -a javac →「javac is /usr/bin/javac」 type -a java → 「java is /usr/bin/java」 echo $PATHの実行結果は質問欄に追記致しました。 お手数をお掛けしますが、ご確認いただけると幸いです。よろしくお願いします。
Crimson_Tide

2021/11/23 14:56

dodox86さんの指摘にあるように PATHの設定で/usr/bin が /Applications/jdk-11.0.2.jdk/Contents/bin より前にあるのが原因かと思います。 .bash_profileを修正して/usr/binより前に設定することでjava -versionで11.0.2を有効にすることはできるかと思います。 ただ、やりたいことはeclipse上のプロジェクトでjava 11を使いたいのですよね? であればeclipse上の設定かプロジェクトのプロパティで個別に設定可能です。 詳しいやり方はここで説明するには長くなるので検索してみてください
Crimson_Tide

2021/11/23 14:59

どういう方法でJava 14を導入されたのかは存じませんが、pathにjava14の記載がなくても、/usr/bin/にあるjavac javaがver14のものです /usr/bin/java -version とすれば、java -versionと同じ結果になると思います。
Aleken

2021/11/23 15:24

echo $PATH実行時には「/usr/bin/」が確認できたのですが、open .bash_profile実行時にはファイル内に「/usr/bin/」が確認できませんでした。 そちらで修正して設定することは難しそうなのですが、eclipse上でプロジェクトのプロパティを設定してJava11に変えてみます。 皆さま、お手数をお掛けしました。本当にありがとうございます!!感謝です
Crimson_Tide

2021/11/23 16:16

.bash_profileが読み込まれる前の設定ファイルもしくは.bash_profileから読み込んでいる設定ファイルでPATHに/usr/bin/が設定されています。 .bash_profileの設定をみないと何とも言えませんが、 恐らく↓のようになっているのを export PATH=${PATH}:/Applications/jdk-11.0.2.jdk/Contents/bin ↓のようにすれば、/usr/binより前にいくと思います。 export PATH=/Applications/jdk-11.0.2.jdk/Contents/bin:${PATH} うまくいかなければ、 export PATH=/Users/kenta/.nodebrew/current/bin:${PATH} のような記述をされていると思うので export PATH=/Applications/jdk-11.0.2.jdk/Contents/bin:/Users/kenta/.nodebrew/current/bin:${PATH} としてみてください。 .bashrcというファイルがあれば、そちらでPATHの設定がされている可能性もあるので、上記でうまくいかなければ確認してみてください。 とはいえ、これで変えたところでeclipse上での設定変更はほぼ必須です。
Aleken

2021/11/24 21:03 編集

追加のアドバイス有難うございます。 上記を試してみましたが、上手くいきませんでした。もう少しターミナル操作の基礎から学習するなどしてみようと思います。お手数お掛けしました、感謝です。
guest

回答1

0

私のMacですが、Oracleから入手したjdk-11.0.12.jdkを仕込んでいます。

$ java -version
java version "11.0.12" 2021-07-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.12+8-LTS-237)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.12+8-LTS-237, mixed mode)

$ javac -version
javac 11.0.12

以下のようにシンボリックリンクを手動で切り替えています。

cd /Library/Java
ln -s /Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home ./Home

あとは、JAVA_HOMEやPATHを指定するだけですね

export JAVA_HOME=/Library/Java/Home
export PATH=${JAVA_HOME}/bin:${PATH}

参考にしてください。

投稿2021/11/23 15:37

technocore

総合スコア7247

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Aleken

2021/11/24 21:04 編集

アドバイス有難うございます。 上記試しましたが上手くいかずで、そもそもターミナル操作の基礎が分かっていない気がするので、一から勉強し直そうと思います。お手数お掛けしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問