0

Web アプリケーションをデプロイした EC2 のインスタンスがあります。EC2 インスタンスは、Tomcat を使用した Linux です。この Web アプリケーションは、私のボックスでローカルに問題なく動作し、MySQL の AWS RDS インスタンスに接続します。

この Web アプリを EC2 インスタンスにデプロイすると、DB への呼び出しを必要とするページが読み込まれません。Hibernate を使用していますが、Hibernate セッションを作成しようとすると、NullPointerException が発生します。これは、persistence.xml 構成ファイルを削除した場合にローカル ボックスで発生するエラーと同じです。

ご想像のとおり、persistence.xml 内には、単純に永続化ユニットが定義されています。派手なことは何もありません(そして、ローカルでも問題なく動作します)。

アプリが EC2 インスタンスで実行されているときに、persistence.xml 構成ファイルが見つからない/検出されず、読み込まれないのはなぜですか?

現在、構成ファイルはプロジェクトの次の場所にあります。

/web/res/META-INF/persistence.xml

どんな入力でも大歓迎です。ありがとう!

4

2 に答える 2

1

persistence.xmlを含むMETA-INFフォルダーをsrcフォルダーにコピーしてみてください。クラスパスになかったためにpersistence.xmlを読み込めなかった以前に問題が発生しました。

于 2012-12-10T01:46:52.863 に答える
0

わかりました、だから私はばかです。Tomcat lib ディレクトリに MySQL コネクタ jar があったので、各プロジェクトに手動で追加しなくても、すべてのプロジェクトで自動的に使用できるようになりました。しかし、war ファイルにまとめて公開すると、それらの「一般的な」jar は含まれません。補足として、それらの瓶は戦争に含まれるべきではありませんか? そうでないことは私には奇妙に思えます。

于 2012-12-10T03:04:20.380 に答える