2006-10-01から1ヶ月間の記事一覧

replaceタスク

Antに、ファイル内の置換を行うreplaceタスクがある。 でもこのタスク、置換したいファイルがかなり大きかったりすると、すぐOutOfMemoryで落ちる。 原因は、全ファイルを一度読み込んでる処理しているから。 ただ、複数行を指定して置換できたりするから、…

AntからCVSアクセスでエラー

前の日記でインストールしたCVSNTを使ってAntからアクセスしようとしてた。 こんな感じで。 でも、なぜか怒られた。 [cvs] cvs checkout: Empty password used - try 'cvs login' with a real password [cvs] cvs [checkout aborted]: authorization failed:…

CVSNT

用があってCVSサーバをインストールする必要が出てきたので、 WinでもOKでラクそうなCVSNTを使ってみた。 インストールや設定はぐぐるとたくさんあるので、らくしょーとか思ってたら バージョンが変わっているせいか、違う箇所がちらほら。 一番ハマったのは…

Double.MIN_VALUE

IntegerやLongのMIN_VALUEは負の値。 でも、DoubleやFloatのMIN_VALUEは負の値ではない。 MIN_VALUE double 型の正の非ゼロ最小値です。 Javadocより つまりは、doubleで表現できる、一番0に近い正の数ってことかね? 見事にハマった・・・。 おまけ。 Syste…

ファイルが存在するかしないかでの分岐

Antで、ファイルが存在する場合としない場合で分岐したい。 分岐には前に試したAnt-ContribのIfタスクを使えばいいけど、分岐の条件節をどのようにすればよいかが悩ましい。 単一のファイルが存在するかどうかだったら、とりあえずはavailableタスクでできる…

javacと準拠レベル

assert文が使われた1.4用のソースをコンパイルするには、 javacのsource属性を指定する。 Genericsなんかを使った1.5のソースの場合は、source属性で"1.5"と指定すればいいけど、 もともとJDK1.5を使ってれば特に問題なっしんぐ。 でも、間違ってsource属性…

Antのプロパティ表示

Antのオプションタスクに、echopropertiesというタスクがあったので、 使ってみた。その名のとおり、プロパティを表示してくれるらしい。 ビルドファイルはこんな感じ。 実行結果は長いので省略。 prefixを指定すると、その単語から始まるもののみを表示で…

Eclipseのコンパイラでのコンパイル

前の日記の通りAntのjavacタスクでEclipseのコンパイラを使うと、 コンパイルが通らないクラスでも、failonerror="false"のときは クラスファイルが生成される。 興味本位で、どんなクラスファイルが生成されるのかを調べてみる。 まずは、ビルドスクリプト…

コンパイル不可のクラスとのコンパイル

Antから、コンパイルが通らないクラスを一緒にしてjavacタスクでコンパイルを実行した場合、 すべてのクラスファイルが生成されない。 せめて、コンパイルが通るクラスはクラスファイルが生成されてもいいのに。 普通にDOS窓からjavacで実行しても生成されな…

Eclipseのメモリ指定

eclipse.exe実行時に、以下のオプションをつける。 -vmargs -Xmx512meclipse.exeのショートカットを作って、プロパティのショートカットタブにある リンク先の指定の部分に、上のものを書いてしまうとラク。 -vmargsで、Eclipse起動に使うJava VMの設定がで…

JavaでGUI

普段はGUIはやらないので、ちょこっと勉強。 Swingは、シングルスレッドで動く。 このスレッドは、イベントディスパッチスレッドとか言うらしい。 なので、表示しているものの状態を変えたい場合などは、 SwingUtilitiesのinvokeLaterとかinvokeAndWaitとか…

TimerとTimerTask

とあるタスクを定期的に実行したり、指定した時間に実行したりするときは、 TimerとTimerTaskを使うらしい。 試しに作ってみた。 public class TimerTaskTest extends TimerTask { public static void main(String[] args) { TimerTaskTest task = new Timer…

排他的論理和

Javaで使ったことなかったので。 確認の意味で。めんどいからboolean。 public static void main(String[] args) { System.out.println(true ^ true); System.out.println(true ^ false); System.out.println(false ^ true); System.out.println(false ^ fal…

SAXParserFactoryの実装クラスの検索順序

SAXParserFactory#newInstanceを呼んだときに返却されるクラスは、以下の順序で探していく。 javax.xml.parsers.SAXParserFactory システムプロパティ JRE ディレクトリ内のプロパティファイル lib/jaxp.properties パスが通ってるjar の中の、 META-INF/ser…

バッチファイルからのAntの実行

バッチファイルで、Antを実行する処理を書いて実行すると、 そのAnt実行の次の行以降のバッチファイルの処理が実行されない。 というよりかは、Antの実行が終了するとバッチファイルの処理が残っていても そこで終わってしまう。 まずはこの状況から。 ビル…