1

Tomcatバージョン:5.0.28 JDK:1.5.0.14

問題:

私は休止状態とストラットの両方を使用しています。これらのライブラリの最新かつ最高のバージョンではありません。したがって、両方とも異なるバージョンのapache-commonsライブラリが必要です。

私が考えている解決策:

マニフェストファイルを使用して、それぞれに異なるバージョンのapache-commonsを指定します

私のWebアプリはwebapps\myappとしてデプロイされています

そして、libはwebapps \ myapp \ WEB-INF\libです

hibernate3.jarのManifest.mfを次のように変更しました

マニフェスト-バージョン:1.0

アーカイバ-バージョン:Plexusアーカイバ作成者:1.5.0_15-b04(Sun> Microsystems Inc.)クラスパス:hibernatelib / slf4j-api-1.5.2.jar

そして、slf4j-api-1.5.2.jarをwebapps \ myapp \ WEB-INF \ lib\hibernatelibに配置します

ここで、slf4j-api-1.5.2.jarがhibernateとともに自動的にロードされると予想しますが、機能しません... Tomcatは、上記のように.MFで指定されたjarファイルを見つけることができません。

質問:

  1. 私は何か間違ったことをしていますか?それともTomcatですか?
  2. この問題に対する別の解決策はありますか?

私はすでに以下を試しました/チェックしました

  1. ファイルの最後に改行文字があるかどうかを確認しました
  2. slf4j-api-1.5.2.jarをメインのlibフォルダーに置くと、エラーがなくなります。そのため、この特定のjarファイルが見つからないことがわかります。
  3. マニフェストファイルで相対的な絶対パスを試しました
4

4 に答える 4

0

権限が正しいことを確認しましたか? また、最後の Class-Path 行の後に改行があることを確認するという考えもあるかもしれません。


更新: Tomcat がこのようなクラスパス宣言をサポートしていない場合、思い浮かぶ唯一のことは ClassLoader をいじることです。個人的にはそうはしません - その道には潜在的な苦痛の全世界があり、おそらくアップグレードするだけで簡単に過ごせるでしょう. 申し訳ありませんが、これ以上の答えは思いつきません!

于 2009-04-08T20:45:28.963 に答える
0

Tomcat の最新の最高のバージョンを試して、問題が解決しないかどうかを確認しましたか? Tomcat 6 は、5.5 や 5.0 は言うまでもなく、すでに数年前のものです...

于 2009-04-08T21:22:42.510 に答える