[Scala]WindowsのJDK(32bit)をJDK(64bit)に入れ替えたときにエラーが出る

このようなエラーが出た場合、tempディレクトリにキャッシュのdllが残っているのが原因。

以下のコマンドで削除できる

Windows vista、7でJavaの自動更新をOFFにする

最近家のマシンでも会社のマシンでもJava更新しねーかぁ~Java更新しねーかぁ~ってうるさいので

Javaの自動更新をOFFにする方法を探ってみました。

どうも、コントロールパネルにあるJavaというやつの画面で設定しても設定が保存されないようです。

これはvistaから導入されてるUACが影響してるか?と思いとりあえずJavaの設定画面の実体を管理者モードで起動してみます。

c:\Program Files\java\jre6\bin\javacpl.exe

このパスは自分のマシンでのパスなので、環境によって変化します。

たぶんJavaをインストールする時のインストールパスの中を少し探せば見つかると思います。

このファイルを右クリックして

管理者として実行…をクリック。

開いた管理画面で、アップデートを自動的にチェックを外す。

適用をクリック。

これでもうJava更新しねーかぁ~っていうメッセージは出なくなりました。

それにしても邪魔。。

JasperReportのPDF出力で、用紙の縦と横が混在したPDFを作成する

JasperReportsで複数のテンプレートを結合してPDFを出力する際に、最初に思いつくのはaddPageメソッドでページを追加してい くという方法だが、この方法だと用紙サイズ、用紙方向などが最初の用紙の設定でページが追加されるようで追加したページの設定が良くない。

そこで、少し面倒だが、各用紙の設定を維持したまま単一のPDF出力が出来るようにする
具体的には、JasperReportsのクラス で「JRPdfExporter」というのがあり、このクラスを使ってPDFを出力する

Ruby から JasperReports でPDF帳票を出す(PDF出力処理をサーバ化)

Railsをpassengerで動かしている時に、RJBでJavaのライブラリJasperReportsを呼び出そうとすると

うまくいかなかった。

なので、一つの解決法としてJasperReportsの呼び出し部分をRailsとは切り離す仕組みとしてDRubyを採用する。

サンプルは別途リンクを張りますが、ここでは主要なソースのみ書き出します。

まずは、実際にPDFを作成する部分から

gen/WritePdf.java:

このJavaのメソッド「runTest」をrubyから呼び出します。

つづいて、この「runTest」を呼び出すrubyソース

create_pdf.rb:

これで、RubyからRJBを使ってJavaのインスタンスを起動し、JasperReportsでPDF出力することが出来ます。

ここまでの修正で、実行テストは

create_pdf_client.rb:

とし、このcreate_pdf_client.rbファイルを実行すると、PDFファイルが作成されます。

JasperReportsで複数の帳票を結合してPDF出力する