2012-01-23 19 views
4

私は、commons-httpclient.jarでクラスパスの問題が発生しています。jarファイルのクラスパスの問題

このアプリケーションでは、より新しいバージョンのcommons-httpclient.jar(commons-httpclient-3.0.1.jar)を使用しています。

JBOSSをインストールすると、commons-httpclient.jarという名前の元のバージョンが2つの異なるディレクトリにインストールされます。

/opt/appname/lib and /opt/appname/server/default/lib 

単純に削除するのは簡単ですが、システム上の別のアプリケーションで使用されていることがわかります。私はクラスが使用される順序を指定する方法があるかどうかを知りたいと思います。

利用コモンズ-HTTPClientの-3.0.1.jarまずJavaへ

はかなり新しいコモンズ-httpclient.jarを使用するので、任意の助けをいただければ幸いです。

+1

JBossは、デプロイされたアプリケーション(Webアプリケーションの場合はWEB-INF/lib)とバンドルすると、独自のjarではなく、アプリケーションのjarを使用することになっています。つまり、JBossにはクラスローダーの混乱や予期せぬ出来事の歴史があるので、あまりにも肯定的ではないでしょう。 –

答えて

1

あなたが言及している制約の下でこれを行う唯一の方法は、適切なJARをJBoss上の各アプリケーションのserver/default/libフォルダに移動し、/ opt/appname/libから削除することです。

これは、JBoss自体がJARを必要とする可能性があるため、これはまだ問題がある可能性があります。その場合、あなたは運が悪いかもしれません。

補足として、フォルダ/ jboss/lib/endorsedを作成することができます。そこに置かれたライブラリはjboss/libより優先されます。

関連する問題