[GIT] SLF4J: Simple Logging Facade for Java branch master updated. v_1.6.4-2-g3a46131

This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SLF4J: Simple Logging Facade for Java". The branch, master has been updated via 3a461317916651390d83891d3d4b73d9e38dcb28 (commit) from ccd1c8355b9ed6c77b375d7efd459416f10fb62e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.qos.ch/gitweb/?p=slf4j.git;a=commit;h=3a461317916651390d83891d3d4... http://github.com/ceki/slf4j/commit/3a461317916651390d83891d3d4b73d9e38dcb28 commit 3a461317916651390d83891d3d4b73d9e38dcb28 Author: Ceki Gulcu <ceki@qos.ch> Date: Sat Nov 12 16:12:16 2011 +0100 docs on version 99 diff --git a/slf4j-site/src/site/pages/faq.html b/slf4j-site/src/site/pages/faq.html index b226ac4..afec6fd 100644 --- a/slf4j-site/src/site/pages/faq.html +++ b/slf4j-site/src/site/pages/faq.html @@ -78,7 +78,7 @@ </li> <li> - <a href="#maven2">What about Maven 2 transitive + <a href="#maven2">What about Maven transitive dependencies? </a> </li> @@ -609,18 +609,19 @@ org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory <!-- ======================================================= --> - <dt><a name="maven2" href="#maven2">What about Maven2 + <dt><a name="maven2" href="#maven2">What about Maven transitive dependencies? </a> </dt> <dd> - <p>As an author of a library built with Maven2, you might - want to test your application using a binding, say - slf4j-log4j12 or logback-classic, without forcing log4j or - logback-classic as a dependency upon your users. As of SLF4J - version 1.3, this quite easy to accomplish. But first, since - your library's code depends on the SLF4J API you will need to - declare slf4j-api as a compile-time (default scope) + <p>As an author of a library built with Maven, you might want to + test your application using a binding, say slf4j-log4j12 or + logback-classic, without forcing log4j or logback-classic as a + dependency upon your users. This is rather easy to accomplish. + </p> + + <p>Given that your library's code depends on the SLF4J API, you + will need to declare slf4j-api as a compile-time (default scope) dependency. </p> <pre class="prettyprint source"><dependency> @@ -662,18 +663,20 @@ org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory </dt> <dd> + <p><b>alternative 1) explicit exlusion</b></p> + <p>Many software projects using Maven declare commons-logging as a dependency. Thus, if you wish to migrate to SLF4J or use - jcl-over-slf4j, you would need to declare a commons-logging - exclusion in all of your dependencies which transitively depend - on commons-logging. This can be an error prone process. To - alleviate the pain, Erik van Oosten has developed a <a - href="http://day-to-day-stuff.blogspot.com/2007/10/announcement-version-99-does-not-exist.html">clever - hack around this problem.</a> + jcl-over-slf4j, you would need to exclude commons-logging in all + of your project's dependencies which transitively depend on + commons-logging. Excluding commons-logging explicitly can be a + cumbersome and an error prone process. </p> - <p>Alternatively, commons-logging can be rather simply and - conveniently excluded as a dependency by declaring it in the + <p><b>alternative 2) provided scope</b></p> + + <p>Commons-logging can be rather simply and conveniently + excluded as a dependency by declaring it in the <em>provided</em> scope within the pom.xml file of your project. The actual commons-logging classes would be provided by jcl-over-slf4j. This translates into the following pom file @@ -700,6 +703,66 @@ org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory true. </p> + <p>Unfortunately, while declaring commons-logging in the + provided scope gets the job done, your IDE, e.g. Eclipse, will + still place <em>commons-logging.jar</em> on your projet's class + path as seen by your IDE. You would need to make sure that + <em>jcl-over-slf4j.jar</em> is visible before + <em>commons-logging.jar</em> by your IDE. + </p> + + <p><b>alternative 3) empty artifacts</b></p> + + <p>An alternative approach is to depend on an empty + <em>commons-logging.jar</em> artifact. This clever <a + href="http://day-to-day-stuff.blogspot.com/2007/10/announcement-version-99-does-not-exist.html">approach + was imagined</a> imagined and initially supported by Erik van + Oosten. + </p> + + <p>The empty artifact is available from a <a + href="http://version99.qos.ch">http://version99.qos.ch</a> a + highly available Maven repository, replicated by several hosts + located in different geographical regions. The following + decleration adds the version99 repository to the set of remote + repositories searched by Maven. + </p> + + <pre class="prettyprint source"><repositories> + <repository> + <id>version99</id> + <!-- highly available repository serving empty artifacts --> + <url>http://version99.qos.ch/</url> + </repository> +</repositories></pre> + + <p>Once you declare version 99-empty of commons-logging in the + <code><dependencyManagement></code> section of your project, + all transtive dependencies for commons-logging will also use + version 99-empty, thus nicely addressing the commons-logging + exclusion problem. + </p> + +<pre class="prettyprint source"><dependencyManagement> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + <version><b>99-empty</b></version> + </dependency> + ... other declarations... +</dependencyManagement> + +<!-- let's not forget to declare a dependency on jcl-over-slf4j --> +<dependencies> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>${project.version}</version> + </dependency> +<dependencies> +</pre> + + </dd> ----------------------------------------------------------------------- Summary of changes: slf4j-site/src/site/pages/faq.html | 97 +++++++++++++++++++++++++++++------ 1 files changed, 80 insertions(+), 17 deletions(-) hooks/post-receive -- SLF4J: Simple Logging Facade for Java
participants (1)
-
git-noreply@pixie.qos.ch