【Java】コロンとセミコロンの間違いで20分も無駄にした…orz

セパレーターはコロン、それともセミコロン? Java
パスのセパレート文字で悩んだ話

Windowsはセミコロン、Linuxはコロン

もうね、これが答えです。
Pathのセパレーターは、Windowsがセミコロン「 ; 」、Linuxがコロン「 : 」になるのでプログラムの移植する人は気をつけてね!

今回はそんなお話&愚痴w

きっかけ

手を出した人が負ける環境

導入したサービスの運用設計を行い、運用を行っているチームに渡そうとしたのですが、
「手一杯で受け取れません」という機械的な返事が返ってきます。
・・・オンラインゲームのNPCに話かけている、そんな感覚に陥ります。

導入に関わった人が運用まで面倒をみる、そんな手を出したら墓場までって流れが定着している会社ありますよねw

自動化を行って運用を楽にする!

運用なんてやり始めると次の仕事が手につきません。
そのため自動化を行おうとしたところ、今回のしょうもない罠にハマった次第です。

(余談)
なぜ最初から自動化しないのか?
運用チームが自動化したプログラムのメンテナンスをできないからですw
もうね、、社内SEが転職できないって理由がなんとなく分かります。。

20分の格闘と少し発狂w

開発あるある 「単純なミス程発見までに時間がかかる」

シェルを作成し、GCE(Google Compute Engine)上で構築したLinux上で実行したところ、
NoClassDefFoundErrorで落ちるんです。

念のためバッチファイルバージョンも作成してみましたが、問題なく動くんですよ。
・・・あれ? ライブラリ側のクラスが見えていない??

ふと気になってググるわけです。
「Linux 環境変数 セパレーター」

終了!w

久しぶりすぎて忘れてた・・・

実に10年ぶりのLinux版作成

パスの区切り文字が円マークではなくスラッシュなので、プログラムの中はシステムプロパティで定義されているFile.separetorを利用していたのですが、環境変数までは覚えてなかった。orz..

DockerやKubernetesの勉強用に久しぶりにLinuxも触り始めたので、シェルを組む際の注意事項として肝に銘じたいと思います。
ここまでお付き合いいただきありがとうございました。

コメント

タイトルとURLをコピーしました