MacでJava開発してるとチョイチョイ、Mac固有の問題が起きる.
とりあえずその辺をまとめてみました.
UnknownHostExceptionがスローされる
InetAddress.getLocalHost()
を使用している箇所で以下のような例外が発生する場合がある.
java.net.UnknownHostException: MYMAC: MYMAC: nodename nor servname provided, or not known
解決方法
/etc/hosts
に名前解決をさせれば例外が解消される.
上記の内容の場合MYMAC
を/etc/hosts
に名前解決をさせればOK.
127.0.0.1 localhost MYMAC
標準入出力が文字化ける
何もしていないとJava 1.6までは標準入出力で文字化けます
解決方法
Javaのオプションを指定してあげるととりあえず直ります.
Java 1.7以降はこの方法を取らなくても問題なく扱えると思います.
export _JAVA_OPTIONS='-Dfile.encoding=UTF-8'
環境変数JAVA_HOME見つからない
Mavenの実行に環境変数JAVA_HOME
見つからないことがありました.
Warning: JAVA_HOME environment variable is not set.
解決方法
以下のようにjava_home
コマンドを実行した結果を環境変数JAVA_HOME
に設定することで、
今後バージョンアップしても対応できます.
[[ -e $(/usr/libexec/java_home) ]] && export JAVA_HOME=$(/usr/libexec/java_home)
Mavenで無効なVMバージョンって怒られる
Mavenの実行に以下のメッセージで怒られる場合があります
1.7 は無効な VM バージョンです。
解決方法
JAVA_HOME
で指定されているJava VMのバージョンが古い可能性があります.
Java VMをインストールするかJAVA_HOME
に正しいバージョンのVMを指定してください.