- - PR -
異なるプロジェクト内のクラスの関数を使うには
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-03-12 17:32
こんにちは。
eclipse+tomcatプラグインを使用しているということで、てっきり私は eclipse上でTomcatを動かしていると思い込んでいたのですが、よくよく 書き込み見ると > EclipseからTomcatを起動できないです・・・。エラーが出ます。 > (いつもは「Start Tomcat」から起動していました。) と発言されておりTomcatは単体で動かしてらっしゃるようですね。 だったらさんざんeclipseのクラスパスがどうのこうのって言っていた のは全く関係なかったってことですね。 > 上記3の環境で動作させる場合、普通はwar形式のファイルにまとめることで > 対応します。 > 具体的には、使用するwebアプリケーションの「WEB-INF/lib」ディレクトリ内に > 共通ライブラリとして使用したいclassをまとめたjarファイルを入れること > になると思います。 要するにWEBサーバ(Tomcat)にアプリをデプロイをされていないって話ですかね? あれっ、だけど一番始めの書き込みでは > <エラー> > exception→ > javax.servlet.ServletException: サーブレットの実行により例外を投げました > root cause→ > java.lang.NoClassDefFoundError: test/common/DBAccess と言われており、これがTomcatをEclipse上ではなく単体で起動されていたので あれば一応デプロイは行っているとも取れますね。 開発環境だけではなく実際の動作環境についても、もう少し明確に書いて 頂いた方が良いと思います。 どっちにしろokutinさんのアドバイスの2か3で解決しそうですけど。 > プロジェクト→プロパティ→tomcatの部分ですよね。 こんな設定があったんですね。知りませんでした。 (知らなくても問題なさそうですが) | ||||
|
投稿日時: 2004-03-12 20:10
こんにちは。
これはTomcatプラグインを使用しているためでしょう。 デフォルトではTomcatプロジェクトを作成したら$TOMCAT_HOME/conf/server.xmlを 書き換えて、プロジェクトディレクトリ内にあるWebアプリケーションを 参照するようにするので$TOMCAT_HOME/webappsにデプロイしなくても Tomcat単体でWebアプリケーションが動作します。 ただ、別のプロジェクト内のclassである「test.common.DBAccess」は見えないため 「NoClassDefFoundError」になると。 | ||||
|
投稿日時: 2004-03-12 23:06
こんにちは。
あっ、なるほど! そう言われて見ると仰る通りですね。 | ||||
