• atwiki
  • susumu @Wiki
  • [トップページ/2006年03月14日/JADの改行コード]の変更点

「トップページ/2006年03月14日/JADの改行コード」の編集履歴(バックアップ)一覧はこちら

トップページ/2006年03月14日/JADの改行コード」(2006/03/15 (水) 00:17:25) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#blognavi 3G対応不具合の原因は予想通りJADファイルに関係していましたが、私の予想とはぜんぜん違うものでした。例えばJADファイルの改行コードを疑ったりして、調査に時間をかけてしまっておりました。 その調査の途中、JADとMANIFESTの改行コードがLFでないと、V702NKでインストールに失敗する、ということを知りました。他の機種ではCR+LFでも良いらしいのですが、V702NKでは制限されるそうです。V702NKだけ見捨てるわけにもいきませんので、JADとMANIFESTをの改行コードをLFに統一することにしました。 vNextTrainのために用意したJADとMANIFESTは、もともとLFになっています。MANIFESTはそのままJARに取り込まれるのでOK。JADファイルは開発環境がJarサイズをJADファイルに追記するときに、なぜか改行コードがCR+LFになってしまいます。Eclipse+JSCL 1.2.2 Pluginを使っているのですが、Jarサイズを追記するupdatejadがCR+LFに変更してしまっていました。これは、updatejadの実装が原因というよりかは、JREのデフォルト改行コードの問題だと思われます。 そこで、Jarサイズの追記と同時にCR+LFになってしまったJADを、自動的にLFに戻すようにしてみます。updatejadタスク後の、archiveタスクにfixcrlfを追記して、以下のようにします。 <target name="archive"> <jar destfile="${bin}/${jarname}.jar" manifest="./MANIFEST.MF"> <fileset dir="${preverified}" /> <fileset dir="${res}" /> <fileset dir="${nexttrain_core}/resource/" includes="**/*.png" /> </jar> <copy file="./${jarname}.jad" tofile="${bin}/${jarname}.jad.crlf" /> <updatejad jadfile="${bin}/${jarname}.jad.crlf" /> <!-- Vodafone emulator plagin cannot handle special char code in path names. copy the target file into the directory whose name is simple. --> <!-- After executing 'updatejad', tasks modifying JAD files fail to overwrite it. Copy to avoid it. --> <copy file="${bin}/${jarname}.jad.crlf" tofile="${bin}/${jarname}.jad" /> <!-- Remove the first three lines in JAD added by tasks. They cause error when we regist it to appli-get server. --> <replace file="${bin}/${jarname}.jad"> <replacetoken><![CDATA[Manifest-Version: 1.0 Ant-Version: Apache Ant 1.5.3 Created-By: 1.4.2_10-b03 (Sun Microsystems Inc.) ]]></replacetoken> <replacevalue></replacevalue> </replace> <!-- JavaSE on Windows modifies JAD file's return code fro LF into CR+LF. CR+LF cause install error on 702NK --> <fixcrlf srcdir="${bin}" eol="lf" includes="${jarname}.jad" /> </target> fixcrlfは、updatejad後のJADファイルに適用するとPermission deniedといわれたので、一度コピーするようにしてあります。また、ついでにJADファイルの先頭に追加されるプロパティをいくつか削っています。これらを削らないとアプリ★ゲットのアップロード時に怒られてしまいますので。 これで、Jarサイズ追記後のJADファイルは、無事改行コードがLFとなりました。これで702NKにもvNextTrainをインストール可能になったはず。702NKのユーザさんに、vNextTrainを使っていただけるかどうかはまた別問題ですが... #right{ カテゴリ: &#x5b;[[NextTrain>トップページ/カテゴリ/NextTrain]]&#x5d; - &trackback() - 2006年03月14日 23:57:14 } #comment(nostyle,nsize8,size30) #blognavi
#blognavi 3G対応不具合の原因は予想通りJADファイルに関係していましたが、私の予想とはぜんぜん違うものでした。例えばJADファイルの改行コードを疑ったりして、調査に時間をかけてしまっておりました。 その調査の途中、JADとMANIFESTの改行コードがLFでないと、V702NKでインストールに失敗する、ということを知りました。他の機種ではCR+LFでも良いらしいのですが、V702NKでは制限されるそうです。V702NKだけ見捨てるわけにもいきませんので、JADとMANIFESTをの改行コードをLFに統一することにしました。 vNextTrainのために用意したJADとMANIFESTは、もともとLFになっています。MANIFESTはそのままJARに取り込まれるのでOK。JADファイルは開発環境がJarサイズをJADファイルに追記するときに、なぜか改行コードがCR+LFになってしまいます。私はEclipse+JSCL 1.2.2 Pluginを使ってVアプリを開発しています。この環境でVアプリプロジェクトを作成すると、同時にantのビルドファイルbuild.xmlが作成されます。このbuild.xmlが起動するupdatejad(Jarサイズを追記するタスク)uがLFをCR+LFに変更してしまっていました。これは、updatejadの実装が原因というより、JREのデフォルト改行コードの問題だと思われます。 そこで、Jarサイズの追記と同時にCR+LFになってしまったJADを、自動的にLFに戻すことを試みました。updatejadタスク後の、archiveタスクにfixcrlfを追記して、以下のようにします。 <target name="archive"> <jar destfile="${bin}/${jarname}.jar" manifest="./MANIFEST.MF"> <fileset dir="${preverified}" /> <fileset dir="${res}" /> <fileset dir="${nexttrain_core}/resource/" includes="**/*.png" /> </jar> <copy file="./${jarname}.jad" tofile="${bin}/${jarname}.jad.crlf" /> <updatejad jadfile="${bin}/${jarname}.jad.crlf" /> <!-- Vodafone emulator plagin cannot handle special char code in path names. copy the target file into the directory whose name is simple. --> <!-- After executing 'updatejad', tasks modifying JAD files fail to overwrite it. Copy to avoid it. --> <copy file="${bin}/${jarname}.jad.crlf" tofile="${bin}/${jarname}.jad" /> <!-- Remove the first three lines in JAD added by tasks. They cause error when we regist it to appli-get server. --> <replace file="${bin}/${jarname}.jad"> <replacetoken><![CDATA[Manifest-Version: 1.0 Ant-Version: Apache Ant 1.5.3 Created-By: 1.4.2_10-b03 (Sun Microsystems Inc.) ]]></replacetoken> <replacevalue></replacevalue> </replace> <!-- JavaSE on Windows modifies JAD file's return code fro LF into CR+LF. CR+LF cause install error on 702NK --> <fixcrlf srcdir="${bin}" eol="lf" includes="${jarname}.jad" /> </target> fixcrlfは、updatejad後のJADファイルに適用するとPermission deniedといわれたので、一度*.jad.crlfにコピーし、それを*.jadに再コピーしてfixcrlfするようにしてあります。また、ついでにJADファイルの先頭に追加されるプロパティをいくつか削っています。これらを削らないとアプリ★ゲットのアップロード時に怒られてしまいますので。 これで、Jarサイズ追記後のJADファイルは、無事改行コードがLFとなりました。これで702NKにもvNextTrainをインストール可能になったはず。702NKのユーザさんに、vNextTrainを使っていただけるかどうかはまた別問題ですが... #right{ カテゴリ: &#x5b;[[NextTrain>トップページ/カテゴリ/NextTrain]]&#x5d; - &trackback() - 2006年03月14日 23:57:14 } #comment(nostyle,nsize8,size30) #blognavi

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー