IBM WebSphere Application Server V9.x Developer Tools がインストールできない【対応策】

EclipseでWASの操作やWASアプリの実装を楽にするプラグイン「IBM WebSphere Application Server V9.x Developer Tools」の存在を知り、インストールを試みたが、エラーが出てしまった。。。

プラグインの公式サイト
https://marketplace.eclipse.org/content/ibm-websphere-application-server-v9x-developer-tools

公式で案内されていたインストール作業は至ってシンプルで以下の通り。
① Eclipseで[ヘルプ] > [Eclipseマーケットプレイス] を起動。
②検索ボックスで 「IBM WebSphere Application Server V9.x Developer Tools」 を検索してインストール

でもこんなエラー↓がでてしまう。。。

No repository found at https: public.dhe.ibm.com/install_not_applicable_for_this_version_of_eclipse

【対応策】

どうやらマーケットプレイスからのインストールはサポートされなくなってしまったようなので手動でインストールします。

① 以下のサイトからお目当てのパッケージをダウンロードします。
https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wdt/
ここには過去のバージョンもあります。

https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wdt/2021-09/

② Eclipseを起動して、[ヘルプ] > [新規ソフトウェアのインストール]を選択する。

③ 使用可能なソフトウェアのダイアログで追加ボタンを押下する

④ リポジトリーの追加ダイアログからアーカイブを押下する。

⑤ ファイル選択のダイアログが開くので、①でダウンロードしたファイルを選択する。ロケーションにパスがセットされるので、名前は任意の値をセットして追加を押下する。

⑥ 必要な機能にチェックを入れて、次へを押下する。

⑦ 次へを押下する。

⑧ ライセンスに同意して次へを押下する。

⑧ 証明書を選択して、選択を受け入れるを押下する。

このあと、再起動を促されるので再起動してインストール完了です。

なお、マーケットプレイスからインストールできない件は、プラグインの公式ページでもこんな感じでクレーム出てますね。

IBMのものはこんな感じリリースされたものがサポートされない印象があります。改善してほしい。( *´ノд`)コショショ


【Java】文字列にCRLF,LFの改行コードが混在していても、両方の改行コードで文字列を分割する

案件にて「この移行データには改行コードがCRLFだったり、LFだったりするデータが入ってくるので考慮してください」と言われました。

いやいやいや、移行するときにデータ変換して統一してよ!!っと思いましたが、政治的に負けて対応することになりました。。。

作成したコードは以下です。

CRをブランクに変換した後にLFでsplitしています。

こちらのコードは以下のGithubリポジトリにも置きました。
my-java-snipet/MyStringUtil.java at main · glasses-se-hub/my-java-snipet · GitHub

あとから確認したら、String.split()でも複数文字で文字列分割できるらしいので、そっちでもよかったかも。

でもいいんですが、動くし、あとから見る人にとってはこっちの方がわかりやすいと思う!!ことにする(笑)


【Java】文字列が半角スペースのみの文字列かチェックする

仕事で「文字列に含まれるのが半角スペースのみであること」をチェックする処理が必要になりました。

最初はString.trim()した後に、空文字であれば半角スペースのみと判定できると思ったのですが、String.trim()のJavadocには以下のように書いてあります。

値がこの文字列で、先頭と末尾のすべてのスペースが削除され、コード・ポイントが‘U+0020’ (空白文字)以下の文字でスペースが定義されている文字列を返します。
Returns a string whose value is this string, with all leading and trailing space removed, where space is defined as any character whose codepoint is less than or equal to ‘U+0020’ (the space character).

つまり、String.trim()は半角スペースだけでなくタブ、改行コードなども削除されてしまい、今回の要件に合いませんでした。

String.trim()を使う案はやめて、私が結局使ったのは以下のコードです。半角スペースを空文字に置換して、最終的に空文字であるかという判定です。(正規表現は苦手なのでやめました。。。)

こちらのコードは以下のGithubリポジトリにも置きました。
my-java-snipet/MyStringUtil.java at main · glasses-se-hub/my-java-snipet · GitHub

もっと格好よくできそうですが、自分は格好良さより他の人が理解しやすいコードが書きたいと思ってます。( *`ω´) 


日々のSE業務で得たノウハウと趣味