メモの日々


2012年03月07日(水) [長年日記]

  • 長かったC++の仕事が一応終わって、今月からJava。Javaの不自由さはストレスだけど、言語が変わるとなんだか楽しい。

[work][life] 確定申告に行く 2012

また提出が3月になってしまった。税務署のプレハブの入り口と出口が逆になっていた。何故変えたのか。今年は今までより混んでいた。プレハブ内の行列に並ぶ。特に何もなく、自分の番になったらあっと言う間に終了。他の人たちは何を揉めているのか不思議だ。


2012年03月12日(月) [長年日記]

[java] JenkinsにNetBeansのbuild.xml用のJUnitのjarファイルを指定する

NetBeansがプロジェクト用に生成するbuild.xmlのtestターゲットをJenkinsで実行しようとしたら、JUnitのクラスを見つけられなくてエラーになってしまった。NetBeansのバージョンは7.0.1(ちょっと古い)だけど、build.xmlを生成したのはもっと前のバージョンかもしれない。

検索すると ANT_HOME/lib にjunit.jarを置けばうまくいきそうなんだけど、手元ではこうしても結果は変わらなかった。

build.xmlがimportしているbuild-impl.xmlを一生懸命読んだ所、nbproject/project.properties ファイル内で libs.junit_4.classpath というプロパティをテスト時のクラスパスに設定していることが分かった。

なので、Jenkinsのジョブの設定画面の「ビルド」の「Antの呼び出し」の「高度な設定」の「プロパティ」欄に「libs.junit_4.classpath=junit.jarのフルパス」のように書いたらうまくいくようになった。

[java] NetBeansのbuild.xmlを使うとテスト失敗時にJenkinsの結果が赤になる

Jenkins上でJUnitが動くようになったけど、テストが1つでも失敗すると結果がfailed(赤)になってしまう。このケースではunstable(黄)になって欲しい。再びbuild-impl.xmlを読む。やれやれ。

testターゲットでは、j2seproject3:junit というタスクが使われていていた。このタスクの実体は、同ファイルの-init-macrodef-junitターゲットに定義されている。該当箇所の最初だけ引用:

    <target name="-init-macrodef-junit">
        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
            <attribute default="${includes}" name="includes"/>
            <attribute default="${excludes}" name="excludes"/>
            <attribute default="**" name="testincludes"/>
            <sequential>
                <property name="junit.forkmode" value="perTest"/>
                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">

最後の行の「errorproperty="tests.failed" failureproperty="tests.failed" 」で、テストがエラーまたは失敗するとtests.failedというプロパティがtrueになるようにしているようだ。エラーと失敗を区別しないのか。

そして、別の箇所に

    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
    </target>

とあって、tests.faildがtrueだとfailタスクでAntをエラー終了させていた。この部分を見ると、ignore.failing.testsというプロパティがtrueの場合はfailタスクが動かないようなので、上のlibs.junit_4.classpathと同じようにしてJenkinsの設定に

ignore.failing.tests=true

を追記したら、テストが失敗したときに赤ではなく黄色になるようにできた。


2012年03月14日(水) [長年日記]

[windows] バッチプログラム内でバッチプログラムを呼び出す

Windowsでantコマンドを複数回呼び出すバッチプログラムを作ったが、1回目のantコマンドしか実行してくれない。

調べると、バッチプログラムからバッチプログラムを呼び出したときは制御が戻ってこない仕様みたい。制御を戻してほしい時はcallコマンドを使えばいいようだ。

コマンドライン リファレンスからcallコマンドの説明を引用。

Call
親バッチ プログラムを停止せずに、あるバッチ プログラムから別のバッチ プログラムを呼び出します。call コマンドでは、ラベルを呼び出し先として使用できます。Call は、スクリプトまたはバッチ ファイル以外で使用した場合は、コマンド ラインで効力を生じません。
構文
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]

2012年03月19日(月) [長年日記]

[java] NetBeansのGUIビルダで日本語が表示されなかった

Swingを使った既存のNetBeansプロジェクトにて、GUIビルダ上で日本語が表示されなかった。おれの環境だけ。

色々調べた結果、[ツール]->[オプション]->[その他]->[ファイル] にて、「ファイル拡張子」欄で「properties」を選んだ後で「関連付けられたファイルの種類」欄の右にある「デフォルト」ボタンを押したら解決した。デフォルトボタン押下前は「text/plain」だったものが、押下により「text/x-properties」になった。


2012年03月21日(水) [長年日記]

[life] toto当せんした (2)

土曜日に試合のあった、第552回のtotoで2等が当せんした! 2等の当せん金は7万円弱なんだけど、2等が当たると結果的に3等も当せんすることになって、合計8万5千円くらいになった。やったー。購入代金は8口で800円。

外したのは松本vs北九州で松本勝利。これを当てるのは難しい。今回は引き分けが無かったんだな。

totoに当せんするのは2度目。前回は一昨年で、そのときの当せん金は500円だった。


2012年03月24日(土) [長年日記]

[java] Javaの日本語ドキュメント

http://java.sun.com/ が繋がらない。そうするとJavaの日本語ドキュメントが読めなくて困る。

英語でよければ

で見られるが、オラクルのサイトに日本語版は見当たらない。

ちょっと探して、次のページで日本語ドキュメントがダウンロードできるようになっているのを見つけた。

「※HTMLファイルを圧縮し、提供しております」とあるけど、圧縮はされておらずダウンロードに時間がかかる。

(追記)

オラクルのサイトで日本語ドキュメントが公開されるようになっていたのでメモ。

あと、java.sun.com は、トップページはオラクルのサイトへリダイレクトされてしまうけど、配下にあるドキュメントは読めるみたい。

[java] JavaチュートリアルのI/Oの章の日本語訳

JavaチュートリアルのI/Oの章だけ日本語訳があったのでメモ。

Java 7で追加されたNIO2の説明もある。

やること

  • 請求書