2009-09-08 11 views
2

J'ai plusieurs dépendances sur Apache TLP (premier niveau des projets) comme Apache Axis, Commons HttpClient, Commons DBCP, communes etc. TransactionChoisir la bonne version d'Apache Commons Logging

Chacun de ces projets a une dépendance sur JCL (Commons Logging) et chaque projet dépend d'une version différente de JCL.

Quelle version de JCL devrais-je choisir - la version la plus élevée sera-t-elle le meilleur choix? Les versions supérieures de JCL seront-elles compatibles avec les projets compilés avec une version inférieure (certains projets ont été compilés avec une version 1.0.x du JCL, alors que d'autres ont été compilés avec la version 1.1.x)? Est-ce que le projet JCL lui-même transmet cette information quelque part?

Répondre

2

La RELEASE-NOTES de la version 1.1.1 dire ce qui suit:

== 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. 

Cela semble me très spécifique. Je voudrais essayer la nouvelle version (1.1.1) et regarder si certains problèmes se produisent.

+0

Ce n'est pas une mauvaise idée du tout. En fait, merci pour le début - au moins, ils ne parlent pas d'incompatibilités API sauf pour cela. Cela m'inquiète seulement de savoir quels changements seraient nécessaires dans les projets communs eux-mêmes et s'ils ont été réalisés. –