「スッキリ分かるJava入門 実践編第3版」 P387にて、Mavenの利用方法ついて記載があったが、解説通りに利用しても実行できずかなり苦戦したので、忘れない内に学んだ事を記載しておこうと思いました。
■参考書記載の利用方法
https://sukkiri.jp/technologies/devtools/maven/apache-maven-installmacos.html
解説通り、Apache:Apache Maven https://maven.apache.org
にアクセス、ZIPファイルをインストール。この時、解説は
「ZIPファイルを適当な場所に展開。(本サイトでは、/Users/ユーザ名に展開。)」
と記載があり、自分はデスクトップにインストール。
その後、下記コマンドをターミナルにて実行。
$ cat << EOF >> ~/.zshrc
export PATH=$PATH:~/apache-maven-3.8.4/bin
EOF
$ . ~/.zshrc
その後、下記コマンドで確認。
$ mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
:
その通りにやったところ、
zsh: command not found
とエラーが発生し、全然実行できずに躓きました。
そこで、解説で行っていた最初のコマンドの意味をそれぞれ検索。
調べたところ、
//zsh(zシェル)のRun Commandファイル?の末尾に追加して書き込む
$ cat << EOF >> ~/.zshrc
//クラスパスを通す
export PATH=$PATH:~/apache-maven-3.8.4/bin
//終了(End of File)
EOF
//不明。ホームディレクトリ直下にあるzsh設定ファイルにアクセスしている?
一番最初に記入するピリオドの意味が不明。カレントディレクトリを意味しているのか。
ピリオドの記載がないと、zsh: permission deniedという権限がないというエラーが起きる。
$ . ~/.zshrc
という風に解釈しました(100%当たっているかは不明)。
恐らくですが、Mavenをインストールした後、シェル設定ファイルにMavenのパスを通して利用ができる状態にするという作業なのかと思いました。
「mvn(Maven)のコマンドを認識していない」という事は「Mavenを認識していない」。
なぜ認識していないのか考えた時、Mavenがどこにあるか分からないから = 恐らくパスの指定が悪いのかと解釈。
自分はApache Mavenをデスクトップ上に保存していたので、
/Users/username(それぞれのユーザーネーム)/desktop/apache-maven-3.8.4/bin
でパスを直したところ、無事解決しました。
適当な場所という言葉を鵜呑みにしすぎた結果です。
初学者で現場も出ていないため恐らく間違いだらけだと思うので、
分かり次第随時内容も訂正していこうと思います。
【参考サイト】
・エラーの原因
https://itips.krsw.biz/mac-zsh-command-not-found-error-reason-and-solution/
・各コマンドの意味
https://hacknote.jp/archives/13756/
・zsh・zshrcについて
https://suwaru.tokyo/zshenv/
http://webcache.googleusercontent.com/search?q=cache:RYdotdNX1RUJ:www-kn.sp.u-tokai.ac.jp/com/computer/shell/shell.html+&cd=7&hl=ja&ct=clnk&gl=jp
https://mykii.blog/what-is-shell-bash-and-zsh/
https://note.com/standenglish/n/ne9825624fe93