著作一覧 |
当たり。インストール時のロケールは、少なくてもdeploytoolがearを作成する動作とは無関係。というか、日本語Windowsでロケールを変えると、スタートメニューがらみで厄介なことになるとの教訓を得る。
次。
deploytool.batにusと記述するとプロセスが消失する。
??と思ったら、usの正体は、%Windir%\system32\us.batなのね……。DOS/Vの頃から変わって無いじゃん。
というわけで、us.batの中を見るとCHCPコマンドの呼び出し。ようするにコマンドラインの世界ではWndowsのロケールではなく、cmd.exeのコードページが優先されるらしいとわかる。というか、ロケール変えるだけじゃだめだってことらしい。LANG重要ってことで。
最終的にはdeploytool.batの先頭を
@echo off
CHCP 437
REM This batch file should be run under
\bin
と変えて対応。2行目のCHCP 437がミソ。
で、無事、application.xmlの生成が可能となった。
earに続き、jarも無事できる。
Windowsのロケールわけわかだけど(多分、en_US.Shift_JISってな感じになってたんだろう)、デフォルトエンコーディングがWindows-31Jだからと言って、ASCIIだけで記述された(そもそもencoding="UTF-8"なわけだし)ものを参照しながら動作が変になるんだ?
CHCP 437 set AS_LOCALE=en_USしたが、まだ不足らしい。 だって、ログが
<[情報][j2eesdk1.4_beta2][][][10][javax.enterprise.system.core][25.8月.2003 02:34:48:109とか出てくるし。中でNAMESPACE_ERRになってるし。
ジェズイットを見習え |