Eclipseで別プロジェクトをTomcatで使用する方法

このQ&Aのポイント
  • EclipseにTomcatプラグインを入れてTomcatプロジェクトでサーブレットを作成し、別のライブラリプロジェクトを読み込む方法について解説します。
  • EclipseのJavaのビルドパスにライブラリプロジェクトを指定している場合、Eclipseから実行すると正しくライブラリプロジェクトを利用できます。
  • しかし、Tomcatでサーブレットを実行するとライブラリプロジェクトが読み込まれず、ClassNotFoundExceptionが発生する場合があります。本記事では、Tomcatプラグインを使用してTomcatでの実行時にライブラリプロジェクトを読み込む方法を紹介します。
回答を見る
  • ベストアンサー

Eclipseで別プロジェクトをTomcatで使用

EclipseにTomcatプラグインを入れて Tomcatプロジェクトでサーブレットを作ってます。 そしてこのTomcatプロジェクトから別のライブラリプロジェクトを読み込んでいます。 EclipseのJavaのビルドパスにこのライブラリプロジェクトを指定しているので Eclipseから実行した場合はきちんとこのライブラリプロジェクトを利用して実行できます。 (リアルタイムでライブラリプロジェクトの修正が反映されます) しかしTOMCATでサーブレットを実行した場合にはこのライブラリプロジェクトを読み込んでくれないようで ClassNotFoundExceptionになってしまいます。 ライブラリプロジェクトをJarにしてTomcatのlib以下に置いてやればきちの読み込まれますが できればTomcatプラグインを使って実行した際にライブラリプロジェクトもコンパイルしてTOMCATに読み込ませてライブラリプロジェクトの変更内容もリアルタイムで反映させたいです。 そういう風にするにはどこで設定すればよろしいでしょうか? Eclipse Keplerを使ってます。

  • Java
  • 回答数1
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

下記のA, Bどちらかの設定をすれば、毎回jarを作って配置しなくても参照プロジェクトの変更が反映されます。 (どちらか一方だけでOK) 【A】Tomcatプラグインの開発用クラスローダを設置する 1. ↓の拡張子をjarに変えて <TOMCAT_HOME>/lib/ にコピー。  <Eclipseのインストールディレクトリ>\dropins\TomcatLauncher\eclipse\plugins\com.sysdeo.eclipse.tomcat_~~~\DevLoader.zip (パスはTomcatプラグインのインストール方法によっても変わります) (Tomcat7なら、DevloaderTomcat7.jar をそのままコピーすれば良いのかも) 2. 対象プロジェクトのTomcatプラグインの設定で「開発用クラスローダーを有効にする」にチェックを入れ必要なライブラリ/フォルダにチェックを入れる。 【B】catalina.properties を設定する <TOMCAT_HOME>/conf/catalina.properties のshared.loader項目に必要なプロジェクトのclassファイル出力フォルダを設定をする。 例) shared.loader=C:/tmp/workspace/hoge_project/bin

yukitakao
質問者

お礼

ありがとうございました。 Aの方法で無事目的の動作ができるようになりました。 これで効率的に作業が薦められます。 ありがとうございました!

関連するQ&A

  • EclipseでのJavaサーブレット開発で、プロジェクトに対するビルドパスの設定について

    Javaプログラミング初心者です。 MacOS 10.5環境で、Eclipse3.5, Tomcat5.5を使ってJavaのWebアプリ開発環境を作りたいと思っています。 サーブレットを作るので ・javax.servlet.* ・javax.servlet.http.* のパッケージをimportするために、Tomcatのcommon/lib/servlet-api.jarをクラスパスに指定する必要があると思うのですが、 Eclipseで新規サーブレットを作った際に、自動的にこのクラスパス指定を行う方法はありますか? 今のところ、サーブレット作成の度に、そのプロジェクトフォルダに対してビルドパスを設定している状況です。 教えて頂けないでしょうか、よろしくお願いいたします。 (ところで、この質問をする際、投稿カテゴリーで「プログラミング」を指定しているにも関わらず、なぜか反映されないので、「その他」カテゴリで質問させて頂きます。)

  • EclipseのTomcatがライブラリを読み込むタイミングについて

    EclipseのTomcatがライブラリを読み込むタイミングについて 質問させてください。 EclipseでJDBCを使用したプログラムを作成しています。 Eclipseを起動後、Tomcatのlibフォルダにsqljdbc.jarを追加してテストしていたのですが、ずっと「Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver' 」というエラーが出ていました。 ところが、Eclipseで[ウィンドウ]-[設定]-[Tomcat]でバージョンとTomcatホームを5.0から6.0のものに修正した途端、正常に動作するようになりました。 その後、バージョンとTomcatホームを5.0に戻しても正常に動作しています。 こういった設定の変更だけでエラーが解決することが疑問なのですが、EclipseのTomcatがライブラリを読み込むタイミングみたいなものが何かあるのでしょうか? テスト中はサーバを停止させて再起動ということはさせていました。また、sqljdbc.jarは5.0、6.0両方のlibディレクトリに入れています。 どなたかご存知でしたらお教えください。

    • ベストアンサー
    • Java
  • tomcat&eclipseについて

    xampp+eclipse+tomcatの環境を作ってる途中です。 一度やったことがあるのですが、eclipseのバージョンが3.4になってしまったのと、完璧に覚えてなかったのが災いしました。 1:xampp+eclipse+tomcatを起動できたが、立ち上げた時の画面左側パッケージエクスプローラーのところが(フォルダ部分が)ツリー状に表示されない! (過去にやったときは、こんなこと起こらなかったので???状態です。) 普通にツリー状に線で結ばれるはず・・ 2:eclipse+tomcatにmysql-connecter-java-5.1.7-bin-jarを読み込み設置したい! (ちゃんとtomcat6.0\lib\にmysql-connecter置いてますがその後のやり方が思い出せない・・・苦笑) JREシステムライブラリーのとこに読みこめて瓶みたいなアイコンに表示が変わったはず・・・   1と2の回答お願いします。

  • Eclipseで書いても、Tomcatで動かない。

    「All-In-One-Eclipse」で、サーバーサイドのプログラムを作ろうとしています。 Tomcatをインストールして、TomcatのプラグインもEclipseの指定のディレクトリに置いて、EclipseのTomcatの設定もしたはずなのですが、Tomcatと連携がとれてないようです…。 Eclipseで「動的Webプロジェクト」を選択して、作成したプロジェクトの左のビュー(?)の「WebContent」を右クリック→新規→JSPで、JSPのファイルを作り、簡単なコードを書いたのですが、ブラウザで 「http://localhost:8080/プロジェクト名/JSPファイル名 と書いても、ファイルが見つからないとエラーが出てしまいます。 何か、落としている作業等あるのでしょうか? また、原因などに、見当がつきましたら、よろしくお願いします。

    • ベストアンサー
    • Java
  • java.lang.ClassNotFound

    eclipseを使ってデータベースの検索を行いたいのですが、実行すると java.lang.ClassNotFoundException: com.mysql.jdbc.Driver とエラーが出ます。ビルド・パスのライブラリーには下記のものが入っているのですが あとは何が足りていないのでしょうか? jstl.jar standard.jar TOMCAT_HOME/common/lib/jasper-runtime.jar TOMCAT_HOME/common/lib/jsp-api.jar TOMCAT_HOME/common/lib/servlet-api.jar jdk1.5.0_22

    • ベストアンサー
    • MySQL
  • Eclipseでプロジェクトを作るとコンテキスト記述子が出来ない?

    「はじめてのJSP&サーブレットプログラミング」という本で勉強しています。 その本では「データベースへの接続で、データソースを使ってデータベースに接続するようにするために、データソースの設定にコンテキスト記述子への記述が必要です。Tomcatの場合は~ディレクトリ以下にあります。」とあるのですが、Eclipseで「動的WEBプロジェクト」でプロジェクトを作ると、そこのフォルダにそのXMLファイルが出来ません。 ためしに「Tomcatプロジェクト」でプロジェクトを作ってみるとプロジェクトを作ったらすぐ出来ました。 これはEclipseでこういうサーブレットでデータベースに接続するような作業は「Tomcatプロジェクト」で作るように、ということなのでしょうか?しかし、「動的WEBプロジェクト」で作ったプロジェクトでは新規で何かファイルを作る時に候補に自動的にJSPやサーブレットといったものが挙がるのでやはりサーブレットは「動的WEBプロジェクト」で作るのでは? と分からないでいます。 よろしくお願いします。

    • ベストアンサー
    • Java
  • EclipseでのJDBCドライバについて

    Eclipse3.1でデータベース(mysql)にアクセスするプログラムを作ったのですが下記のエラーが出ます。 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver これはJDBCドライバのセットアップがうまく出来ていないからなのでしょうか? またEclipseでは、~.jarというファイルをプロジェクトのWEB-INFのlibフォルダに入れれば使える印象があるのですが、参考書(EclipseのではなくJAVAなどの)などにあるようにTomcatのインストールフォルダ以下common/libに入れて環境変数を変更しないといけないのでしょうか? ご存知の方教えてください、よろしくお願いします。

    • ベストアンサー
    • Java
  • eclipseでのServlet作成

    eclipseにて動的Webプロジェクトを生成し、サーブレットを作成しました。 その際にjavax.servletを使用しているのですがコンパイルエラーになってしまいます。 なお、jdk_1.6.0_22をビルドパスに設定しています。 servlet.jarはデフォルトでは入っていないとかなんでしょうか? サーブレットを作成する際に必要な設定とかがあるなら教えてください。

    • ベストアンサー
    • Java
  • Eclipse3.4 Tomcat6 JavaSE6の環境で、

    Eclipse3.4 Tomcat6 JavaSE6の環境で、 Eclipse3.5 Tomcat6 JavaSE6で作成したプロジェクトを そのまま持ってくると、ビルドパスのエラーがでてしまいます。 下記内容。 「ビルドパスエントリーが欠落しています。」 org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0 解決方法をご存知の方がおられましたら、 ご教授いただけますと、大変助かります。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • Tomcatプラグインがeclipseに反映されない

    Tomcatプラグインを参考書等のやり方にしたがってeclipseのpluginフォルダに放り込んだのですが、eclipse>ウィンドウ>設定のダイアログ上に反映されません。eclipseとpluginのバージョンが2のときはふつうに表示されていたのですが、バージョンをあげてからうまく反映されません。  eclipse  3.0.1 プラグイン com.sysdeo.eclipse.tomcat_3.0.0 JAVA_HOME C:\Program Files\Java\jdk1.5.0  eclipseの「JREの実行環境」     C:\Program Files\Java\jre1.5.0  Tomcat バージョン 4.06 有名なWikiのエクリプスページを見ても、該当するパターンがなく解決できません。 いまいち仕組みがわからず、こういうときに何が問題なのか、ということがわからないのが現状です。みなさんのアドバイスお待ちしています。よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう