jcgay / maven-color

A colorized Maven console
MIT License
177 stars 20 forks source link

maven-deluxe 3.3.9-2 failed my build #24

Closed tan9 closed 8 years ago

tan9 commented 8 years ago

When I upgraded maven-deluxe from 3.3.9-1 to 3.3.9-2 (by using brew). My maven project failed to build with following errors:

Failed to execute goal ro.isdc.wro4j:wro4j-maven-plugin:1.7.9:run (styles) on project compost-case-web: Execution styles of goal ro.isdc.wro4j:wro4j-maven-plugin:1.7.9:run failed: A required class was missing while executing ro.isdc.wro4j:wro4j-maven-plugin:1.7.9:run: org/slf4j/event/LoggingEvent
-----------------------------------------------------
realm =    plugin>ro.isdc.wro4j:wro4j-maven-plugin:1.7.9
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/Users/tang/.m2/repository/ro/isdc/wro4j/wro4j-maven-plugin/1.7.9/wro4j-maven-plugin-1.7.9.jar
urls[1] = file:/Users/tang/.m2/repository/ro/isdc/wro4j/wro4j-core/1.7.9/wro4j-core-1.7.9.jar
urls[2] = file:/Users/tang/.m2/repository/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar
urls[3] = file:/Users/tang/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar
urls[4] = file:/Users/tang/.m2/repository/ro/isdc/wro4j/wro4j-extensions/1.7.9/wro4j-extensions-1.7.9.jar
urls[5] = file:/Users/tang/.m2/repository/org/mozilla/rhino/1.7.7/rhino-1.7.7.jar
urls[6] = file:/Users/tang/.m2/repository/org/apache/commons/commons-exec/1.1/commons-exec-1.1.jar
urls[7] = file:/Users/tang/.m2/repository/commons-pool/commons-pool/1.6/commons-pool-1.6.jar
urls[8] = file:/Users/tang/.m2/repository/org/springframework/spring-web/3.1.1.RELEASE/spring-web-3.1.1.RELEASE.jar
urls[9] = file:/Users/tang/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
urls[10] = file:/Users/tang/.m2/repository/org/springframework/spring-beans/3.1.1.RELEASE/spring-beans-3.1.1.RELEASE.jar
urls[11] = file:/Users/tang/.m2/repository/org/springframework/spring-context/3.1.1.RELEASE/spring-context-3.1.1.RELEASE.jar
urls[12] = file:/Users/tang/.m2/repository/org/springframework/spring-aop/3.1.1.RELEASE/spring-aop-3.1.1.RELEASE.jar
urls[13] = file:/Users/tang/.m2/repository/org/springframework/spring-expression/3.1.1.RELEASE/spring-expression-3.1.1.RELEASE.jar
urls[14] = file:/Users/tang/.m2/repository/org/springframework/spring-asm/3.1.1.RELEASE/spring-asm-3.1.1.RELEASE.jar
urls[15] = file:/Users/tang/.m2/repository/org/springframework/spring-core/3.1.1.RELEASE/spring-core-3.1.1.RELEASE.jar
urls[16] = file:/Users/tang/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
urls[17] = file:/Users/tang/.m2/repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar
urls[18] = file:/Users/tang/.m2/repository/com/google/javascript/closure-compiler/v20150609/closure-compiler-v20150609.jar
urls[19] = file:/Users/tang/.m2/repository/com/google/javascript/closure-compiler-externs/v20150609/closure-compiler-externs-v20150609.jar
urls[20] = file:/Users/tang/.m2/repository/args4j/args4j/2.0.26/args4j-2.0.26.jar
urls[21] = file:/Users/tang/.m2/repository/com/google/guava/guava/18.0/guava-18.0.jar
urls[22] = file:/Users/tang/.m2/repository/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar
urls[23] = file:/Users/tang/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
urls[24] = file:/Users/tang/.m2/repository/com/github/lltyk/dojo-shrinksafe/1.7.2/dojo-shrinksafe-1.7.2.jar
urls[25] = file:/Users/tang/.m2/repository/org/jruby/jruby-core/9.0.0.0/jruby-core-9.0.0.0.jar
urls[26] = file:/Users/tang/.m2/repository/com/github/jnr/jnr-netdb/1.1.4/jnr-netdb-1.1.4.jar
urls[27] = file:/Users/tang/.m2/repository/com/github/jnr/jnr-ffi/2.0.1/jnr-ffi-2.0.1.jar
urls[28] = file:/Users/tang/.m2/repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar
urls[29] = file:/Users/tang/.m2/repository/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.jar
urls[30] = file:/Users/tang/.m2/repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar
urls[31] = file:/Users/tang/.m2/repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar
urls[32] = file:/Users/tang/.m2/repository/org/ow2/asm/asm-util/5.0.3/asm-util-5.0.3.jar
urls[33] = file:/Users/tang/.m2/repository/com/github/jnr/jnr-enxio/0.9/jnr-enxio-0.9.jar
urls[34] = file:/Users/tang/.m2/repository/com/github/jnr/jnr-x86asm/1.0.2/jnr-x86asm-1.0.2.jar
urls[35] = file:/Users/tang/.m2/repository/com/github/jnr/jnr-unixsocket/0.8/jnr-unixsocket-0.8.jar
urls[36] = file:/Users/tang/.m2/repository/com/github/jnr/jnr-posix/3.0.15/jnr-posix-3.0.15.jar
urls[37] = file:/Users/tang/.m2/repository/com/github/jnr/jnr-constants/0.8.8/jnr-constants-0.8.8.jar
urls[38] = file:/Users/tang/.m2/repository/com/github/jnr/jffi/1.2.9/jffi-1.2.9.jar
urls[39] = file:/Users/tang/.m2/repository/com/github/jnr/jffi/1.2.9/jffi-1.2.9-native.jar
urls[40] = file:/Users/tang/.m2/repository/org/jruby/joni/joni/2.1.6/joni-2.1.6.jar
urls[41] = file:/Users/tang/.m2/repository/org/jruby/extras/bytelist/1.0.13/bytelist-1.0.13.jar
urls[42] = file:/Users/tang/.m2/repository/org/jruby/jcodings/jcodings/1.0.13/jcodings-1.0.13.jar
urls[43] = file:/Users/tang/.m2/repository/org/jruby/dirgra/0.3/dirgra-0.3.jar
urls[44] = file:/Users/tang/.m2/repository/com/headius/invokebinder/1.5/invokebinder-1.5.jar
urls[45] = file:/Users/tang/.m2/repository/com/headius/options/1.1/options-1.1.jar
urls[46] = file:/Users/tang/.m2/repository/com/jcraft/jzlib/1.1.3/jzlib-1.1.3.jar
urls[47] = file:/Users/tang/.m2/repository/com/martiansoftware/nailgun-server/0.9.1/nailgun-server-0.9.1.jar
urls[48] = file:/Users/tang/.m2/repository/joda-time/joda-time/2.5/joda-time-2.5.jar
urls[49] = file:/Users/tang/.m2/repository/org/jruby/jruby-stdlib/9.0.0.0/jruby-stdlib-9.0.0.0.jar
urls[50] = file:/Users/tang/.m2/repository/me/n4u/sass/sass-gems/3.2.1/sass-gems-3.2.1.jar
urls[51] = file:/Users/tang/.m2/repository/nz/co/edmi/bourbon-gem-jar/2.1.0/bourbon-gem-jar-2.1.0.jar
urls[52] = file:/Users/tang/.m2/repository/com/github/sommeri/less4j/1.14.0/less4j-1.14.0.jar
urls[53] = file:/Users/tang/.m2/repository/org/antlr/antlr-runtime/3.5.2/antlr-runtime-3.5.2.jar
urls[54] = file:/Users/tang/.m2/repository/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar
urls[55] = file:/Users/tang/.m2/repository/org/json/json/20090211/json-20090211.jar
urls[56] = file:/Users/tang/.m2/repository/org/codehaus/gmaven/runtime/gmaven-runtime-1.7/1.3/gmaven-runtime-1.7-1.3.jar
urls[57] = file:/Users/tang/.m2/repository/org/codehaus/gmaven/feature/gmaven-feature-support/1.3/gmaven-feature-support-1.3.jar
urls[58] = file:/Users/tang/.m2/repository/org/codehaus/gmaven/feature/gmaven-feature-api/1.3/gmaven-feature-api-1.3.jar
urls[59] = file:/Users/tang/.m2/repository/org/codehaus/gmaven/runtime/gmaven-runtime-support/1.3/gmaven-runtime-support-1.3.jar
urls[60] = file:/Users/tang/.m2/repository/org/codehaus/gmaven/runtime/gmaven-runtime-api/1.3/gmaven-runtime-api-1.3.jar
urls[61] = file:/Users/tang/.m2/repository/org/sonatype/gshell/gshell-io/2.0/gshell-io-2.0.jar
urls[62] = file:/Users/tang/.m2/repository/com/thoughtworks/qdox/qdox/1.10/qdox-1.10.jar
urls[63] = file:/Users/tang/.m2/repository/org/codehaus/groovy/groovy-all/1.7.4/groovy-all-1.7.4.jar
urls[64] = file:/Users/tang/.m2/repository/org/apache/ant/ant/1.8.2/ant-1.8.2.jar
urls[65] = file:/Users/tang/.m2/repository/org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.jar
urls[66] = file:/Users/tang/.m2/repository/jline/jline/0.9.94/jline-0.9.94.jar
urls[67] = file:/Users/tang/.m2/repository/org/webjars/webjars-locator/0.28/webjars-locator-0.28.jar
urls[68] = file:/Users/tang/.m2/repository/org/webjars/webjars-locator-core/0.27/webjars-locator-core-0.27.jar
urls[69] = file:/Users/tang/.m2/repository/org/apache/commons/commons-compress/1.9/commons-compress-1.9.jar
urls[70] = file:/Users/tang/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.3.3/jackson-databind-2.3.3.jar
urls[71] = file:/Users/tang/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0.jar
urls[72] = file:/Users/tang/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.3.3/jackson-core-2.3.3.jar
urls[73] = file:/Users/tang/.m2/repository/org/webjars/npm/validate.js/0.8.0/validate.js-0.8.0.jar
urls[74] = file:/Users/tang/.m2/repository/org/webjars/jshint/2.6.3-2/jshint-2.6.3-2.jar
urls[75] = file:/Users/tang/.m2/repository/org/webjars/less/1.3.3/less-1.3.3.jar
urls[76] = file:/Users/tang/.m2/repository/org/webjars/emberjs/1.9.0-1/emberjs-1.9.0-1.jar
urls[77] = file:/Users/tang/.m2/repository/org/webjars/jquery/1.10.2-1/jquery-1.10.2-1.jar
urls[78] = file:/Users/tang/.m2/repository/org/webjars/handlebars/3.0.3/handlebars-3.0.3.jar
urls[79] = file:/Users/tang/.m2/repository/org/webjars/coffee-script/1.10.0/coffee-script-1.10.0.jar
urls[80] = file:/Users/tang/.m2/repository/org/webjars/envjs/1.2/envjs-1.2.jar
urls[81] = file:/Users/tang/.m2/repository/org/webjars/jslint/20140708-394bf29/jslint-20140708-394bf29.jar
urls[82] = file:/Users/tang/.m2/repository/org/webjars/json2/20110223/json2-20110223.jar
urls[83] = file:/Users/tang/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar
urls[84] = file:/Users/tang/.m2/repository/org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar
urls[85] = file:/Users/tang/.m2/repository/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar
urls[86] = file:/Users/tang/.m2/repository/org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.jar
urls[87] = file:/Users/tang/.m2/repository/org/mockito/mockito-core/2.0.31-beta/mockito-core-2.0.31-beta.jar
urls[88] = file:/Users/tang/.m2/repository/net/bytebuddy/byte-buddy/0.6.14/byte-buddy-0.6.14.jar
urls[89] = file:/Users/tang/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1.jar
urls[90] = file:/Users/tang/.m2/repository/org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar
urls[91] = file:/Users/tang/.m2/repository/org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar
urls[92] = file:/Users/tang/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
urls[93] = file:/Users/tang/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
urls[94] = file:/Users/tang/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
urls[95] = file:/Users/tang/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
urls[96] = file:/Users/tang/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
urls[97] = file:/Users/tang/.m2/repository/org/slf4j/slf4j-log4j12/1.7.12/slf4j-log4j12-1.7.12.jar
urls[98] = file:/Users/tang/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar
Number of foreign imports: 1
import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

-----------------------------------------------------: org.slf4j.event.LoggingEvent
-> [Help 1]
java.lang.ClassNotFoundException: org.slf4j.event.LoggingEvent
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    ... 77 common frames omitted
Wrapped by: java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetPublicMethods(Class.java:2902)
    at java.lang.Class.getMethods(Class.java:1615)
    at org.mozilla.javascript.JavaMembers.discoverAccessibleMethods(JavaMembers.java:346)
    at org.mozilla.javascript.JavaMembers.discoverAccessibleMethods(JavaMembers.java:302)
    at org.mozilla.javascript.JavaMembers.reflect(JavaMembers.java:419)
    at org.mozilla.javascript.JavaMembers.<init>(JavaMembers.java:43)
    at org.mozilla.javascript.JavaMembers.lookupClass(JavaMembers.java:807)
    at org.mozilla.javascript.NativeJavaObject.initMembers(NativeJavaObject.java:54)
    at org.mozilla.javascript.NativeJavaObject.<init>(NativeJavaObject.java:44)
    at org.mozilla.javascript.NativeJavaObject.<init>(NativeJavaObject.java:34)
    at org.mozilla.javascript.WrapFactory.wrapAsJavaObject(WrapFactory.java:115)
    at org.mozilla.javascript.WrapFactory.wrap(WrapFactory.java:72)
    at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:236)
    at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1479)
    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815)
    at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3282)
    at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:120)
    at org.mozilla.javascript.Context.evaluateReader(Context.java:1250)
    at ro.isdc.wro.extensions.script.RhinoScriptBuilder.evaluateChain(RhinoScriptBuilder.java:132)
    at ro.isdc.wro.extensions.script.RhinoScriptBuilder.addClientSideEnvironment(RhinoScriptBuilder.java:93)
    at ro.isdc.wro.extensions.script.RhinoScriptBuilder.newClientSideAwareChain(RhinoScriptBuilder.java:233)
    at ro.isdc.wro.extensions.processor.support.less.LessCss.initScriptBuilder(LessCss.java:45)
    at ro.isdc.wro.extensions.processor.support.less.LessCss.less(LessCss.java:84)
    at ro.isdc.wro.extensions.processor.css.RhinoLessCssProcessor.process(RhinoLessCssProcessor.java:130)
    at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:86)
    at ro.isdc.wro.model.resource.processor.decorator.LazyProcessorDecorator.process(LazyProcessorDecorator.java:49)
    at ro.isdc.wro.extensions.processor.js.AbstractNodeWithFallbackProcessor.process(AbstractNodeWithFallbackProcessor.java:59)
    at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:86)
    at ro.isdc.wro.model.resource.processor.decorator.LazyProcessorDecorator.process(LazyProcessorDecorator.java:49)
    at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:86)
    at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:86)
    at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:86)
    at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:86)
    at ro.isdc.wro.model.resource.processor.decorator.SupportAwareProcessorDecorator.process(SupportAwareProcessorDecorator.java:39)
    at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:86)
    at ro.isdc.wro.model.resource.processor.decorator.ExceptionHandlingProcessorDecorator.process(ExceptionHandlingProcessorDecorator.java:56)
    at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:86)
    at ro.isdc.wro.model.resource.processor.decorator.BenchmarkProcessorDecorator.process(BenchmarkProcessorDecorator.java:44)
    at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:86)
    at ro.isdc.wro.model.resource.processor.decorator.DefaultProcessorDecorator.process(DefaultProcessorDecorator.java:42)
    at ro.isdc.wro.model.group.processor.GroupsProcessor$1.process(GroupsProcessor.java:134)
    at ro.isdc.wro.model.group.processor.GroupsProcessor.applyPostProcessors(GroupsProcessor.java:115)
    at ro.isdc.wro.model.group.processor.GroupsProcessor.process(GroupsProcessor.java:84)
    at ro.isdc.wro.cache.support.DefaultSynchronizedCacheStrategyDecorator.loadValue(DefaultSynchronizedCacheStrategyDecorator.java:101)
    at ro.isdc.wro.cache.support.DefaultSynchronizedCacheStrategyDecorator.loadValue(DefaultSynchronizedCacheStrategyDecorator.java:35)
    at ro.isdc.wro.cache.support.AbstractSynchronizedCacheStrategyDecorator.get(AbstractSynchronizedCacheStrategyDecorator.java:55)
    at ro.isdc.wro.manager.ResourceBundleProcessor.serveProcessedBundle(ResourceBundleProcessor.java:63)
    at ro.isdc.wro.manager.WroManager.process(WroManager.java:159)
    at ro.isdc.wro.maven.plugin.Wro4jMojo.processGroup(Wro4jMojo.java:277)
    at ro.isdc.wro.maven.plugin.Wro4jMojo.doExecute(Wro4jMojo.java:161)
    at ro.isdc.wro.maven.plugin.AbstractWro4jMojo.execute(AbstractWro4jMojo.java:169)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    ... 21 common frames omitted
Wrapped by: org.apache.maven.plugin.PluginContainerException: A required class was missing while executing ro.isdc.wro4j:wro4j-maven-plugin:1.7.9:run: org/slf4j/event/LoggingEvent
jcgay commented 8 years ago

Thanks for the report!

I have a similar issue opened here. I will look into it today with wro4j-maven-plugin.

jcgay commented 8 years ago

I was not able to reproduce the error :( I have tried with example projects from https://github.com/wro4j/wro4j-examples without luck...

Anyway as this seems to be a dependency problem between different versions of SLF4J, can you try to replace logback dependencies by older ones ? (I have updated logback version in latest release). In /usr/local/Cellar/maven-deluxe/3.3.9-2/libexec/lib/ext, drop logback jars and replace them with their equivalent in v1.1.3 ?

I think the problem is (from http://logback.qos.ch/news.html):

February 11th, 2016, Release of version 1.1.4
Logback 1.1.4 requires SLF4J version 1.7.16 or later.

Added event replay support as introduced in SLF4J version 1.7.15. In most circumstances, logack-classic should run fine with earlier versions of slf4j-api, including all versions in the 1.6.x and 1.7.x series. However, with a version of slf4j-api.jar earlier than 1.7.15 in the classpath, attempting introspection of a Logger instance will result in a NoClassDefFoundError similar to that shown below.

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
        at java.lang.Class.privateGetPublicMethods(Class.java:2571)
        at java.lang.Class.getMethods(Class.java:1429)
        at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1261)
        at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1122)
        at java.beans.Introspector.getBeanInfo(Introspector.java:414)
        at java.beans.Introspector.getBeanInfo(Introspector.java:161)
tan9 commented 8 years ago

@jcgay confirmed that I can build successfully if the bundled logback 1.1.6 was be replaced by 1.1.3

jcgay commented 8 years ago

Cool I'll release a new version today!

Thanks for the feedback.

jcgay commented 8 years ago

It should be ok with maven-color v1.4.1

Thanks again!

tan9 commented 8 years ago

3.3.9-3 works for me.

Thank you very much!