カテゴリー別アーカイブ: Java

JDKのダウンロードでOracle.com(OTN USA)のアカウントが必須に!

OracleになってからどんどんJDKのダウンロードがめんどくさくなっている・・・ 以前はログインを求められても、スキップできたのだが、今日ダウンロードを試みたところOracle.comアカウントなるもので認証要求が出てきた。 OTNのアカウントは日米別々に登録しているのだけど、これのことかと思って日本のOTNを試すとだめで、米国のOTNアカウントだとログイン成功した。 単にダウンロードするだけなのにログインが必要だなんて、めんどくさいよ!これ。

カテゴリー: Java | タグ: , | コメントをどうぞ

ClassNotFoundExceptionの原因と対策

ClassNotFoundExceptionの原因はNoClassDefFoundErrorなどに比べるとわかりやすい。 ClassForNameしているところが原因なので、たいていは引数のクラス名のスペルミス。 またweb.xmlのServletやFilterの定義でクラス名が間違っているとこれまたTomcat起動時にClassNotFoundExceptionで落ちる。 その場合は以下のようなメッセージがでてTomcatのコンテキスト起動に失敗する。 致命的: フィルタ xxxFilter の起動中の例外です java.lang.ClassNotFoundException: com.rutake.xxxFilter // パッケージ名まで含めて書かないとダメなので以下はClassNotFoundExceptionが出る Class.forName(“String”).newInstance(); // これならClassNotFoundExceptionは出ない Class.forName(“java.lang.String”).newInstance(); パッケージ名まで含めてクラスのスペルが正しいのならNoClassDefFoundErrorと同じ対処法でjarのライブラリをチェック! チェックポイントは以下の2点 ・クラスパスに該当クラスのjarが含まれているか ・そのjarファイルの中に正しくクラスが格納されているか 大概JDBCドライバーの置き忘れだったり、クラス名が変更になっていたり環境設定のミスに起因するエラーなのでわかんなかったら技術面取りまとめの人に聞いてみるべし。

カテゴリー: Java | タグ: | コメントをどうぞ

徹底究明 「致命的: 以前のエラーのためにコンテキストの起動が失敗しました 」 Filter編

どきっとするTomcatのエラー「致命的: 以前のエラーのためにコンテキストの起動が失敗しました」の徹底究明講座スタート Filterの設定でエラーが起きたときに上記エラーが起きるのだが、具体的にはフィルタークラスはFQDNでしていするため、パッケージ名やクラス名が間違っていると以下のようにエラーメッセージが出るはず。 ■エラーログの例 致命的: フィルタ UrlRewriteFilter の起動中の例外です java.lang.ClassNotFoundException: org.tuckey.web.filters.urlrewrite.UrlRewriteFilter at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249) ・・・中略 致命的: Error filterStart 2011/07/25 11:31:53 org.apache.catalina.core.StandardContext start 致命的: 以前のエラーのためにコンテキストの起動が失敗しました [/コンテキスト名] ■対策 まずクラス名が正しいことを確認する。正しかった場合はクラスパスに該当するクラスが含まれているかをチェックする。 コンテキストルート/WEB-INF/libにjarファイルを放りこんでおけば該当コンテキストのクラスパスに自動で含めてくれる。 これらのエラーはweb.xml読み込み時に発生するため、起動してすぐにエラーメッセージが出るはずである。 (他にコンテキストがなければの話だけど)

カテゴリー: Java, Tomcat | コメントをどうぞ

起動時に毎回ポップアップ出てくる Java Auto Updaterの息の根を止める

ほんとこういうの使うほうの身にもなってみろっていうの 絶対消されるか心証悪くするだけだろうが!! アップデートなら起動時毎回は必要ないんだよ! とかなりむかついてしまうJava Auto Updater 以前のエントリーで止める方法を書いたのだけど、どうもそれだとうまくいかないので根こそぎ止めることにした。 1.コマンドプロンプトでmsconfigと打ち込む 2.スタートアップタブの「Java Auto Updater」のチェックボックスを外す これで二度と立ち上がってこないはず。 しかしよくみると他にもいろんなソフトのチェックが入ってんだな。 だからWindowsはインストール直後が最速で、後は遅くなる一方ってことなんだよ。

カテゴリー: Java, Windows | コメントをどうぞ

JDK 過去バージョン入手

Oracle買収後にURLが変わっていたので再度掲載 JDK 過去バージョン またJDK5.0系はサポート終了の扱いのため、正面からダウンロードしようとすると アンケートに答えないと先に進めない。上記URLからなら回避可能

カテゴリー: Java | コメントをどうぞ

HttpClientは3.0までと4.0以後でクラス構成などがガラリと変わった。 日本語のサイトではまだ使用例が少ないので、情報収集にも苦労する。 というわけでシンプルにGETアクセスして、結果を表示するだけのサンプルプログラムを提供しましょう! import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; public class SimpleHttpClient { /** * @param args * @throws IOException * @throws ClientProtocolException */ public static void main(String[] args) throws ClientProtocolException, IOException … 続きを読む

カテゴリー: Java | タグ: , | コメントをどうぞ

Java Auto Updaterを止める

WindowsVistaや7などUACがあるOSでは、起動のたびにJavaの更新確認ポップアップがでてくるので、さすがに止めたい。単なるクライアントPCであれば、毎回更新を確認する必要はないだろう。ひと月に一回でも十分。 コントロールパネル→プログラム→Java Javaコントロールパネルが開くのでアップデートタブを選択し、「アップデートを自動的にチェック」を外す。 これで消えるはずなのだが、再度開けてみるとウィルスのごとくチェックボックスが復活している。なんて迷惑なソフトだ! どうも外せないのはこのPCだけっぽいんで、普通のユーザはこれでOKだと思います。 止められない人は以下のエントリーも参照 Java Auto Updaterの息の根を止める

カテゴリー: Java | コメントをどうぞ

eclipseの過去バージョンを手に入れる

以前自分が書いた記事が間違っておった。 いまだにJDK1.4な環境であれば3.2系が必要になってくる。てなわけで過去バージョンのURLは以下のとおり http://archive.eclipse.org/eclipse/downloads/index.php

カテゴリー: Java | コメントをどうぞ

JavaServletで 405 MethodNotAllowedが出たときの原因と対処法

いまどきフレームワークを使わずにServletを作成するということは実際の現場では珍しくなっている。 しかし学習段階においてはHelloServletからスタートすることも多いはず、そんな時画面に405エラーがでて途方にくれた人への解決策。 要はServletのdoGetかdoPostの実装をしていないでアクセスするとこのエラーがでる。大概はdoGet,doPostのスペルミスだったり、引数違いだったりする単純ミスなのだが、頭に血が上っているとなかなか気づきづらいものだ。 JDK5.0からは@Overrideアノテーションがあるから気づくけどね。

カテゴリー: Java | コメントをどうぞ

64bitOSでもJDK&Eclipseは32bit版が使える

ちと家のマシンが32/64が混在していて、両方のJDKとEclipseを用意するのが面倒になってきたので、Windows7の64bit版に、JDKもeclipseも32bitでインストールしてみた。 無事起動できたので、我が家のPCがAll64bitになる日までは(いつになるのやら)32bit版でいこう! そうなるとますます64bitにしている意味がないんじゃないかという突っ込みごもっとも

カテゴリー: Java, Windows | コメントをどうぞ