私はRESTfulWebサービスを構築しています。シンプルなクライアントとシンプルなサーバーであるJax-rs(Jersey)を使用しています。PostgreSQLデータベースとそれに対応するJDBCドライバーを添付しました。
サーバーとクライアントは、データベース関連のものがない場合に完全に機能します。(したがって、クライアント/サーバーコードは問題ありません)
サーバーを拡張してデータベースにクエリを実行すると、問題が発生します。
サーバーがスローします。No suitable driver found for jdbc:postgresql://localhost/MyDataBase
クライアントが次のように報告します。500 internal service error
プレーンな古いJavaアプリケーション(同じパッケージ内)から同じ方法でデータベースを利用する場合、問題はまったくありません(したがって、接続/クエリコードも問題ありません)。
エラーが発生するのは、サーバーからクエリを実行したときだけです。したがって、コードに問題はなく、JDBCドライバーの場所だけに問題があることがわかりました。
私はもう試した:
- postgresqlドライバー.jarをプロジェクトのほぼすべての場所に配置します
- Class.forName( "../../.. postgresql.jar")
私が知りたいのですが:
- この.jarは、動的なWebプロジェクトのどこに配置されることになっていますか?
- なぜJavaアプリケーションでは機能するのに、アプリケーションサーバー内では機能しないのですか?