Java

Eclipseプロジェクト内に、Validate対象外のディレクトリを作る方法

Eclipseプロジェクト内に、Tomcatのランタイムを格納すると便利だと思ってやってみたのですが、TomcatのサンプルのWebアプリが検証にひっかかってしまって、Eclipse上に大量のエラーがでてしまいました。Tomcatのサンプルを捨ててしまうという解決策も考えた…

Java1.6+Antを動かそうとすると、java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher

Linux(Fedora)に、Java1.6とAntをインストールして、いざAntを動かそうとすると表題のエラーが発生。 Javaは、jdk-6u7-linux-i586-rpm.bin をダウンロードしてインストール、Antは yum install antでインストールしたもの。原因調査のために、まず、javaコ…

WebLogic をバージョンアップしたときに、(JSPで)空白が「null」となってしまう問題

アプリケーションサーバを、WebLogic6からWebLogic10にバージョンアップするという仕事で、問題が発生しました。問題となったのは、JSPのスクリプトレットを評価した結果が null のときです。 この実行結果は、JSPの仕様からすると「null」と出力されて当然…

Javaで文字列の暗号化/複合化(※外部ライブラリを使わずに)

僕がいま係っているシステムで、別システムのログインパスワードを文字列でデータベースに格納することになりました。これを実現するために、Javaで文字列の暗号化/復合化を行う方法を調べたので、その結果を記しておきます。(※既に別の方々が解説している…

java.util.logging.Loggerを使う上での注意点

java.util.logging.Loggerを初めて使ったのですが、ちょっとハマってしまった点などあったので紹介しておきます(主に設定ファイル=logging.propertiesまわり)。 ○問題 logging設定ファイルはシステムクラスローダによりロードされる logging設定ファイルで…

JavaでFriendクラスを実現するためのパターン(フレンドアクセスブリッジパターン?)

以前、JavaでFriendクラスのような事を実現する方法というエントリを書いたのですが、もう少しすっきりした書き方を見つけたので紹介&再掲載しておきます。【やりたいこと】Fooクラスのfooメソッドを、別パッケージのBarクラスにのみ公開したいまず、Fooク…

JavaからコンパイルされてないGroovyを呼び出す方法(クラス、メソッド)

前回に続き、JavaからGroovyスクリプを実行する方法。今回は通常のクラスの、インスタンスメソッドを実行する方法について紹介。 GroovyClassLoader loader = new GroovyClassLoader(this.getClass().getClassLoader()); Class cls = loader.parseClass(new …

JavaからコンパイルされてないGroovyを呼び出す方法(ルーズステートメント)

JavaからGroovyスクリプトを実行する方法。やり方はいくつかあるのですが、その中から比較的シンプルなやりかたを紹介。 new GroovyShell().parse(new File("....name.groovy")).run(); これだけです。....name.groovy のところを該当のスクリプトファイル名…

Socketに出力中に Connection reset by peer: socket write error

Javaでプロキシサーバのようなものを作っていたところ、クライアントへレスポンスを返している途中に、以下の例外が多発。 SocketException: Connection reset by peer: socket write error プログラムはすごく簡単なサンプルを参考にしてたので間違ってると…

JavaでFriendクラスのような事を実現する方法

C++のFriendクラス、Friend関数は、アクセス権限を細かく制御したいときにすごく便利だ。クラスを設計(コーディング?)しているときに、「プライベートにしときたいけど、ある処理でだけはアクセスできるようにしたい」という場面が多々ある。 Javaでは、F…

セルを結合したシートを cloneSheet すると IndexOutOfBoundsException が発生する(POI)

テンプレートとなるExcelファイルを読み込んで、プログラムから値を設定し出力する、というありがちなプログラムを開発していた時のこと。Excelシート内に結合したセルがある場合に以下のコードを実行すると、 HSSFWorkbook book = ....; book.cloneSheet(0)…

EclipseでEmacs風キーバインド Ctrl+M

EclipseでEmacs風のキーバインドをするときの注意点。基本的には Scheme を「Emacs」にするだけで大体解決するんだけど、自分好みにするにはいくつかカスタマイズが必要。 Ctrl+H[In Window]の[Delete Previous]を割り当てる Ctrl+Spc[Text Editing]の[Set M…

JavaScriptを使ってHTMLのインクルードを実現しつつ、JSPでもインクルードできる方法

先のエントリにJSP版。これはあまりいけてないなあ。 ●呼び出しイメージ <script type="text/javascript" >//<% include("a.txt",request,response); //%> </script> ●スクリプト本体 <script type="text/javascript" >var request; // ←スクリプトエラーとならないように宣言 var response; function include(filename) { include.seq …

タグリブのrtexprvalue属性は、true でいいんじゃないかと

Taglibを作成するときに、各パラメータに指定するrtexprvalue属性についてです。 デフォルトではこの属性は false=動的な値を許可しない、となっているんですが、動的な値を許可したくないときって、僕の経験上、ほとんどないです。気になったので、Servlet…

Javaの無名クラスで、final宣言しないといけないのは何故?

Java の無名クラス(他の言語でいうところのクロージャ?)では、外のスコープのfinal宣言されていない変数を参照しようとするとコンパイルエラーとなってしまう。 String name = "kenpoco"; new Object() { public String toString() { return name; // コ…

S2Daoの不思議

S2Daoでは、実装クラスを記述していない(=誰もインプリメントしてない)のに、インターフェースのインスタンスが取得できるのは何故だーー?? S2Container c = SingletonS2ContainerFactory.getContainer(); IDao dao = (IDao)c.getComponent(IDao.class);…

JspSourceDependent.getDependants() で悩む

とある案件で開発環境を構築していてはまったメモ。 既存のプロジェクトをTomcat5.5上にデプロイし、JSPを表示しようととしたら、、、 Generated servlet error: The return type is incompatible with JspSourceDependent.getDependants()JSPの問題ではなさ…