<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        mso-fareast-language:EN-AU;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-AU" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Chris,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks for the prompt reply, your advice works perfectly - the ant task executes successfully and logging for griffon app is also working.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">“jcl-over-slf4j is not a binding” – I missed that one but having both adapter/binding as runtime dependency that solves it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Here’s the build.gradle for anyone else lucky enough to have to execute ant tasks using old slf4j api on the classpath:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Courier New";color:black">dependencies {<br>
    </span><b><span style="font-size:9.0pt;font-family:"Courier New";color:#000043">def
</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">slf4jVersion =
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'1.7.10'<br>
    </span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">griffon
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'org.codehaus.griffon.plugins:griffon-miglayout-plugin:1.1.1'<br>
    </span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">compile
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">"org.codehaus.griffon:griffon-guice:</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">${griffon.version}</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">"<br>
    </span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">compile
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">"org.slf4j:slf4j-api:</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">${slf4jVersion}</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">"<br>
    </span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">compile
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'org.apache.ant:ant:1.9.4'<br>
</span></b><i><span style="font-size:9.0pt;font-family:"Courier New";color:gray">//    compile('org.apache.ant:ant-apache-log4j:1.9.4') {<br>
//        exclude group: 'log4j',         module: 'log4j'<br>
//    }<br>
   <br>
    </span></i><span style="font-size:9.0pt;font-family:"Courier New";color:black">runtime(</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'log4j:log4j:1.2.17'</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">)
 {<br>
        exclude </span><span style="font-size:9.0pt;font-family:"Courier New";color:green">group</span><span style="font-size:9.0pt;font-family:"Courier New";color:black">:
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'ant'</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">,        
</span><span style="font-size:9.0pt;font-family:"Courier New";color:green">module</span><span style="font-size:9.0pt;font-family:"Courier New";color:black">:
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'ant-nodeps'<br>
        </span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">exclude
</span><span style="font-size:9.0pt;font-family:"Courier New";color:green">group</span><span style="font-size:9.0pt;font-family:"Courier New";color:black">:
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'ant'</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">,        
</span><span style="font-size:9.0pt;font-family:"Courier New";color:green">module</span><span style="font-size:9.0pt;font-family:"Courier New";color:black">:
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'ant-junit'<br>
        </span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">exclude
</span><span style="font-size:9.0pt;font-family:"Courier New";color:green">group</span><span style="font-size:9.0pt;font-family:"Courier New";color:black">:
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'ant-contrib'</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">,
</span><span style="font-size:9.0pt;font-family:"Courier New";color:green">module</span><span style="font-size:9.0pt;font-family:"Courier New";color:black">:
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'ant-contrib'<br>
    </span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">}<br>
<br>
   runtime </span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">"org.slf4j:slf4j-log4j12:</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">${slf4jVersion}</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">"<br>
    </span></b><i><span style="font-size:9.0pt;font-family:"Courier New";color:gray">//runtime "org.slf4j:slf4j-nop:${slf4jVersion}"<br>
   //runtime "org.slf4j:slf4j-jcl:${slf4jVersion}"<br>
   </span></i><span style="font-size:9.0pt;font-family:"Courier New";color:black">runtime
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">"org.slf4j:jcl-over-slf4j:</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">${slf4jVersion}</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">"<br>
   </span></b><i><span style="font-size:9.0pt;font-family:"Courier New";color:gray">//runtime 'commons-logging:commons-logging:1.1.1'<br>
   //runtime 'org.apache.ant:ant-commons-logging:1.9.4'<br>
<br>
    </span></i><span style="font-size:9.0pt;font-family:"Courier New";color:black">testCompile
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'org.spockframework:spock-core:0.7-groovy-2.0'<br>
    </span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">testCompile
</span><b><span style="font-size:9.0pt;font-family:"Courier New";color:green">'com.jayway.awaitility:awaitility-groovy:1.6.3'<br>
</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:black">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Paul<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">(very happy customer)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> slf4j-user [mailto:slf4j-user-bounces@qos.ch]
<b>On Behalf Of </b>Chris Pratt<br>
<b>Sent:</b> Thursday, 7 May 2015 5:20 PM<br>
<b>To:</b> User list for the slf4j project<br>
<b>Subject:</b> Re: [slf4j-user] java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">jcl-over-slf4j is not a binding, it's an adapter.  It implements the Apache Jakarta Commons Logging API, but instead of using the JCL to route log messages, it uses the installed SLF4j binding.  But, it is true that the different SLF4j
 jars be of compatible versions.  I think the actual problem that you are running into is that you have specifically included a runtime binding jar, but you didn't mention whether you also explicitly include the slf4j-api jar as a compile time dependency. 
 If you didn't it will include the highest one explicitly included, which is the one specified by the ant.jar.  <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If I were you I would absolutely include the slf4j-api compile dependency, and probably the jcl-over-slf4j runtime dependency using the same version as your binding.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  (*Chris*)<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Thu, May 7, 2015 at 12:04 AM, Strachan, Paul <<a href="mailto:Paul.Strachan@det.nsw.edu.au" target="_blank">Paul.Strachan@det.nsw.edu.au</a>> wrote:<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I’m creating a Groovy/JavaFX app which invokes an ant build script from a 3<sup>rd</sup> party software product installed on the same host. My app (Griffon) has a runtime dependency
 of slf4j-log4j12-1.7.10.   I’ve also added ant-1.9.4 as a compile dependency.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The ant build file imports other build scripts (from the 3rd party “scripts” folder) which import others and eventually the necessary taskdef and classpath refs are created – this
 classpath uses an older slf4j implantation containing: jcl-over-slf4j-1.5.2.jar, slf4j-log4j12-1.5.2.jar, slf4j-api-1.5.2.jar<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">At runtime when I execute the target I’m seeing the following error and the ant task did not complete:<o:p></o:p></p>
<pre style="background:white"><b><span style="font-size:9.0pt;color:#000043">def </span></b><span style="font-size:9.0pt;color:black">antProject = </span><b><span style="font-size:9.0pt;color:#000043">new </span></b><span style="font-size:9.0pt;color:black">Project()<br>antProject.init()<br>ProjectHelper.<i>configureProject</i>(antProject, buildFile)</span><o:p></o:p></pre>
<pre style="margin-bottom:12.0pt;background:white"><span style="font-size:9.0pt;color:black">antProject.executeTarget(</span><b><span style="font-size:9.0pt;color:green">'</span></b><span style="font-size:9.0pt;color:black">export</span><b><span style="font-size:9.0pt;color:green">'</span></b><span style="font-size:9.0pt;color:black">)</span><o:p></o:p></pre>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Caused by: java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.commons.logging.impl.SLF4JLocationAwareLog.warn(SLF4JLocationAwareLog.java:173)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.axis2.util.Loader.getResourceAsStream(Loader.java:140)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:113)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:68)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:184)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:150)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:143)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:244)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.axis2.rpc.client.RPCServiceClient.<init>(RPCServiceClient.java:48)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at com.tibco.amf.admin.api.servicefactory.remote.axis2.Axis2ProxyServiceFactory$Axis2ServiceInvocation.<init>(Axis2ProxyServiceFactory.java:185)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at com.tibco.amf.admin.api.servicefactory.remote.axis2.Axis2ProxyServiceFactory.createService(Axis2ProxyServiceFactory.java:168)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at com.tibco.amf.admin.api.servicefactory.remote.RemoteServicesRegistry.getRemoteServiceInstance(RemoteServicesRegistry.java:112)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at com.tibco.amf.admin.cmdline.ServiceFactory.createService(ServiceFactory.java:196)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at com.tibco.amf.admin.cmdline.CLIRegistry.getService(CLIRegistry.java:181)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at com.tibco.amf.admin.cmdline.Processor.process(Processor.java:104)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at com.tibco.amf.admin.cmdline.Processor.processChildren(Processor.java:39)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at com.tibco.amf.admin.cmdline.ant.AMXAdminTask.process(AMXAdminTask.java:362)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at com.tibco.amf.admin.cmdline.ant.AMXAdminTask.execute(AMXAdminTask.java:280)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at java.lang.reflect.Method.invoke(Method.java:497)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        ... 35 more<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">[2015-05-07 14:46:39,063] [JavaFX Application Thread] INFO  griffon.javafx.JavaFXGriffonApplication - Shutdown is in process<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">My build.gradle<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">...<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">dependencies {<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    griffon 'org.codehaus.griffon.plugins:griffon-miglayout-plugin:1.1.1'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    compile "org.codehaus.griffon:griffon-guice:${griffon.version}"           
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    //compile 'org.apache.ant:ant:1.9.4'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    compile('org.apache.ant:ant-apache-log4j:1.9.4') {<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        exclude group: 'log4j',         module: 'log4j'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    }<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">               
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    runtime('log4j:log4j:1.2.17') {<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        exclude group: 'ant',         module: 'ant-nodeps'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        exclude group: 'ant',         module: 'ant-junit'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">        exclude group: 'ant-contrib', module: 'ant-contrib'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    }<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">                runtime 'org.slf4j:slf4j-log4j12:1.7.10'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">                //runtime 'org.slf4j:slf4j-jcl:1.7.10'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">                //runtime 'org.slf4j:jcl-over-slf4j:1.7.10'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">                runtime 'commons-logging:commons-logging:1.1.1'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">                runtime 'org.apache.ant:ant-commons-logging:1.9.4'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    testCompile 'org.spockframework:spock-core:0.7-groovy-2.0'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">    testCompile 'com.jayway.awaitility:awaitility-groovy:1.6.3'<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">}<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">...<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">My interpretation of this exception  is:<o:p></o:p></p>
<p>1.<span style="font-size:7.0pt">       </span>SLF4JLocationAwareLog has been loaded  from slf4j<1.6 (i.e. jcl-over-slf4j-1.5.2.jar)<o:p></o:p></p>
<p>2.<span style="font-size:7.0pt">       </span>LocationAwareLogger has been loaded from slf4j>=1.6 (i.e. slf4j-api-1.7.10.jar)<o:p></o:p></p>
<p>3.<span style="font-size:7.0pt">       </span>I understand that slf4j isn’t binary compatible between 1.5 and 1.6 – and doesn’t like >1 binding on the classapath<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">What I don’t understand is if my Griffon/Gradle build project contains { runtime 'org.slf4j:slf4j-log4j12:1.7.10' } this means I’ve fulfilled slf4j’s requirement by providing the
 slf4j api and log4j12 binding.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">So ant’s taskdef classpath contains the 1.5.2 API – but I can’t change these scripts<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">For some reason slf4j picks jcl-over-slf4j-1.5.2 (the other choice being slf4j-log4j12-1.5.2)  even though a binding has already been defined/loaded/used.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">In the interim I can “make the error go away” by:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p>a)<span style="font-size:7.0pt">      </span>Comment out runtime 'org.slf4j:slf4j-log4j12:1.7.10' – meaning no logging / noop?<o:p></o:p></p>
<p>b)<span style="font-size:7.0pt">      </span>Comment in runtime ‘org.slf4j:jcl-over-slf4j:1.7.10’ – (I don’t really want JCL)<o:p></o:p></p>
<p> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I’m running out of ideas– do I need to dig into the ant code & try and change the classpath (remove 1.7.10?) I don’t know if that would work if classes from 1.7.10 have already
 been loaded – I’m hoping there’s a really simple solution I’ve just happened to overlook (like executing ant in a new process with a new classloader) but if anyone has a suggestion it would be appreciated. 
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Cheers,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Paul<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<p><span style="font-size:10.0pt;font-family:"Courier New""><br>
**********************************************************************<br>
This message is intended for the addressee named and may contain <br>
privileged information or confidential information or both. If you <br>
are not the intended recipient please delete it and notify the sender.<br>
********************************************************************** <o:p></o:p></span></p>
</div>
<p class="MsoNormal"><br>
_______________________________________________<br>
slf4j-user mailing list<br>
<a href="mailto:slf4j-user@qos.ch">slf4j-user@qos.ch</a><br>
<a href="http://mailman.qos.ch/mailman/listinfo/slf4j-user" target="_blank">http://mailman.qos.ch/mailman/listinfo/slf4j-user</a><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>

<FONT face="Courier New" size=2>
<P><BR>**********************************************************************<BR>This 
message is intended for the addressee named and may contain <BR>privileged 
information or confidential information or both. If you <BR>are not the intended 
recipient please delete it and notify the 
sender.<BR>********************************************************************** 
</FONT></P>
</body>
</html>