2

Apache Axis、Commons HttpClient、Commons DBCP、Commons Transaction などのいくつかの Apache TLP (トップ レベル プロジェクト) に依存しています。

これらの各プロジェクトは JCL (Commons Logging) に依存しており、すべてのプロジェクトは異なるバージョンの JCL に依存しています。

どのバージョンの JCL を選択すればよいですか? 最新のバージョンが最適な選択でしょうか? 上位バージョンの JCL は、下位バージョンに対してコンパイルされたプロジェクトと互換性がありますか? JCL プロジェクト自体がこの情報をどこかに伝えていますか?

4

1 に答える 1

2

バージョン 1.1.1のRELEASE-NOTESには次のように書かれています。

== Incompatibilities ==

The protected method LogFactory.getContextClassLoader has been reverted to pre-1.1
behaviour. In earlier releases, this method did not use an AccessController when
obtaining the context classloader. In version 1.1 it did. In this release, it has
reverted to not using an AccessController; any user-level code that needs to obtain
a context classloader should itself create an AccessController, and call the
LogFactory.getContextClassLoader method via the doPrivileged method. This fixes a
potential security issue, where untrusted code could get access to the context
classloader if a signed Commons Logging library was in the classpath.

それは私にとって非常に具体的に聞こえます。最新バージョン (1.1.1) を試して、問題が発生するかどうかを確認します。

于 2009-09-08T08:19:15.520 に答える