Would it help to catch NoClassDefFoundError DefaultBuildPluginManager.executeMojo and if it's anything in the org/sonatype/aether/ space, give a warning about requiring newer plugin?
Kristian 2013/5/28 Arnaud Héritier <aherit...@gmail.com>: > For now I had no issue with this release after an upgrade of few plugins > > In the future (another Alpha ..) couldn't you catch such error and provide > a more user friendly message asking to upgrade the plugin : > > [INFO] Dependency-reduced POM written at: > /Users/arnaud/Code/eXo/platform-public-distributions/plf-tomcat-extensions-manager/dependency-reduced-pom.xml > [WARNING] Error injecting: > org.apache.maven.shared.dependency.graph.internal.Maven3DependencyGraphBuilder > java.lang.NoClassDefFoundError: org/sonatype/aether/graph/Dependency > at java.lang.Class.getDeclaredMethods0(Native Method) > at java.lang.Class.privateGetDeclaredMethods(Class.java:2436) > at java.lang.Class.getDeclaredMethods(Class.java:1793) > at > com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:674) > at > com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:366) > at > com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:165) > at > com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:609) > at com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:565) > at > com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:551) > at > com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:865) > at > com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:790) > at > com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:278) > at > com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:210) > at > com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:986) > at > com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1019) > at > com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:982) > at > com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1032) > at > org.eclipse.sisu.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:44) > at > com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86) > at > com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55) > at > com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70) > at > com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100) > at > org.eclipse.sisu.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:134) > at > com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109) > at > com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55) > at > com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68) > at > com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1054) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at com.google.inject.Scopes$1$1.get(Scopes.java:59) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) > at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047) > at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993) > at org.eclipse.sisu.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:82) > at > org.eclipse.sisu.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:52) > at > org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:259) > at > org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:239) > at > org.apache.maven.shared.dependency.graph.internal.DefaultDependencyGraphBuilder.buildDependencyGraph(DefaultDependencyGraphBuilder.java:60) > at > org.apache.maven.plugins.shade.mojo.ShadeMojo.updateExcludesInDeps(ShadeMojo.java:965) > at > org.apache.maven.plugins.shade.mojo.ShadeMojo.createDependencyReducedPom(ShadeMojo.java:938) > at > org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:544) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:318) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) > at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) > Caused by: java.lang.ClassNotFoundException: > org.sonatype.aether.graph.Dependency > at > org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) > at > org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) > at > org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) > ... 64 more > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Summary: > [INFO] > [INFO] eXo Platform Public Distributions ................. SUCCESS [1.129s] > [INFO] eXo Platform Public Distributions - ROOT WebApp ... SUCCESS [4.065s] > [INFO] eXo Platform Public Distributions - Dependencies .. SUCCESS > [7:52.922s] > [INFO] eXo Platform Public Distributions - Tomcat Extension - CRaSH > SUCCESS [2.578s] > [INFO] eXo Platform Public Distributions - Tomcat Extensions Manager > FAILURE [11.605s] > [INFO] eXo Platform Public Distributions - Tomcat Integration WebApp > SKIPPED > [INFO] eXo Platform Public Distributions - Tomcat Portal Containers Creator > SKIPPED > [INFO] eXo Platform Public Distributions - Assemblies .... SKIPPED > [INFO] eXo Platform Public Distributions - Tomcat Resources SKIPPED > [INFO] eXo Platform Public Distributions - Community Tomcat Standalone > SKIPPED > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 8:33.102s > [INFO] Finished at: Tue May 28 16:00:04 CEST 2013 > [INFO] Final Memory: 59M/125M > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-shade-plugin:2.0:shade (default) on project > plf-tomcat-extensions-manager: Execution default of goal > org.apache.maven.plugins:maven-shade-plugin:2.0:shade failed: A required > class was missing while executing > org.apache.maven.plugins:maven-shade-plugin:2.0:shade: > org/sonatype/aether/graph/Dependency > [ERROR] ----------------------------------------------------- > [ERROR] realm = plugin>org.apache.maven.plugins:maven-shade-plugin:2.0 > [ERROR] strategy = > org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy > [ERROR] urls[0] = > file:/Users/arnaud/.m2/repository/org/apache/maven/plugins/maven-shade-plugin/2.0/maven-shade-plugin-2.0.jar > [ERROR] urls[1] = > file:/Users/arnaud/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.jar > [ERROR] urls[2] = > file:/Users/arnaud/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar > [ERROR] urls[3] = > file:/Users/arnaud/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar > [ERROR] urls[4] = > file:/Users/arnaud/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar > [ERROR] urls[5] = > file:/Users/arnaud/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar > [ERROR] urls[6] = > file:/Users/arnaud/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar > [ERROR] urls[7] = > file:/Users/arnaud/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar > [ERROR] urls[8] = > file:/Users/arnaud/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar > [ERROR] urls[9] = > file:/Users/arnaud/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar > [ERROR] urls[10] = > file:/Users/arnaud/.m2/repository/asm/asm/3.3.1/asm-3.3.1.jar > [ERROR] urls[11] = > file:/Users/arnaud/.m2/repository/asm/asm-commons/3.3.1/asm-commons-3.3.1.jar > [ERROR] urls[12] = > file:/Users/arnaud/.m2/repository/asm/asm-tree/3.3.1/asm-tree-3.3.1.jar > [ERROR] urls[13] = > file:/Users/arnaud/.m2/repository/org/jdom/jdom/1.1/jdom-1.1.jar > [ERROR] urls[14] = > file:/Users/arnaud/.m2/repository/org/apache/maven/shared/maven-dependency-tree/2.0/maven-dependency-tree-2.0.jar > [ERROR] urls[15] = > file:/Users/arnaud/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar > [ERROR] urls[16] = > file:/Users/arnaud/.m2/repository/org/vafer/jdependency/0.7/jdependency-0.7.jar > [ERROR] urls[17] = > file:/Users/arnaud/.m2/repository/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar > [ERROR] urls[18] = > file:/Users/arnaud/.m2/repository/asm/asm-analysis/3.2/asm-analysis-3.2.jar > [ERROR] urls[19] = > file:/Users/arnaud/.m2/repository/asm/asm-util/3.2/asm-util-3.2.jar > [ERROR] Number of foreign imports: 1 > [ERROR] import: Entry[import from realm > ClassRealm[project>org.exoplatform.platform.distributions:plf-tomcat-extensions-manager:4.0.x-SNAPSHOT, > parent: ClassRealm[maven.api, parent: null]]] > [ERROR] > [ERROR] -----------------------------------------------------: > org.sonatype.aether.graph.Dependency > [ERROR] -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e > switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, > please read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException > > > WDYT ? Could it be technically possible ? > > A minor minor minor error : > > arnaud@imac-arnaud:~/Code/eXo/platform-public-distributions (git:master $)$ > mvn clean install -V -U > Apache Maven 3.1.0-alpha-1 (42b69f0b0a326d25442a05348a88e360f47e2443; > 2013-05-25 14:38:16+0200) > Maven home: /Users/arnaud/Applications/apache-maven > Java version: 1.6.0_45, vendor: Apple Inc. > Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home > Default locale: en_US, platform encoding: MacRoman > OS name: "mac os x", version: "10.8.3", arch: "x86_64", family: "mac"[INFO] > Scanning for projects... > > There is a missing carriage return after -V details > > Cheers > > > On Tue, May 28, 2013 at 10:38 AM, Stephen Connolly < > stephen.alan.conno...@gmail.com> wrote: > >> [x] Builds from source bundle >> [x] Builds some complex projects >> [x] Contains correct LICENSE.txt >> [ ] NOTICE.txt correctly attributes 3rd party components (See observation >> 1) >> [?] All source files, where appropriate, contain the ASL header (See >> observation 2) >> [?] Binary archives bundled within the source distribution (See observation >> 3) >> >> On the basis of the NOTICE.txt not acknowledging Eclipse Aether, and only >> on that basis I will be voting >> >> -0.99999 (binding) >> >> The other issues are non-critical but it would be nice to tidy them up... >> nice to have. >> >> Observations >> >> 1. No attribution of Eclipse Aether, only referenced as developed by >> Sonatype. >> >> 2. The following 39 files are missing license headers: >> >> apache-maven/src/bin/m2.conf >> apache-maven/src/conf/logging/simplelogger.properties >> >> >> maven-aether-provider/src/main/java/org/apache/maven/repository/internal/package.html >> maven-aether-provider/src/site/apt/index.apt >> maven-artifact/src/site/apt/index.apt >> maven-compat/compatibility.cfl >> maven-compat/src/main/resources/META-INF/maven/plugin.xml >> maven-core/lifecycle-executor.txt >> maven-core/plugin-manager.txt >> maven-core/project-builder.txt >> maven-core/src/main/resources/org/apache/maven/messages/build.properties >> maven-core/src/site/apt/artifact-handlers.apt >> maven-core/src/site/apt/configuration-management.apt >> maven-core/src/site/apt/default-bindings.apt.vm >> maven-core/src/site/apt/getting-to-container-configured-mojos.apt >> maven-core/src/site/apt/index.apt >> maven-core/src/site/apt/inheritance.apt >> maven-core/src/site/apt/lifecycles.apt.vm >> maven-core/src/site/apt/offline-mode.apt >> maven-core/src/site/apt/plugin-execution-isolation.apt >> maven-core/src/site/apt/scripting-support/marmalade-support.apt >> maven-core/src/site/resources/design/2.1-lifecycle-refactor.graffle >> >> >> maven-embedder/src/examples/simple-project/src/main/java/org/apache/maven/embedder/App.java >> >> >> maven-embedder/src/examples/simple-project/src/test/java/org/apache/maven/embedder/AppTest.java >> maven-embedder/src/main/resources/META-INF/MANIFEST.MF >> >> >> maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.properties >> maven-embedder/src/site/apt/cli.apt.vm >> maven-embedder/src/site/apt/index.apt.vm >> maven-embedder/src/site/apt/logging.apt >> maven-model-builder/src/site/apt/index.apt >> maven-model-builder/src/site/apt/super-pom.apt.vm >> maven-model/src/main/java/org/apache/maven/model/io/xpp3/package.html >> maven-model/src/main/java/org/apache/maven/model/merge/package.html >> maven-model/src/main/java/org/apache/maven/model/package.html >> maven-model/src/site/apt/index.apt >> maven-plugin-api/src/site/apt/index.apt >> maven-repository-metadata/src/site/apt/index.apt >> maven-settings/src/site/apt/index.apt >> README.bootstrap.txt >> >> None of these are actual production code, so I don't see this as a blocker >> for release, but it would be good to tidy them up. Additionally, the >> embedder examples should have their license explicitly stated to remove >> confusion for anyone pegging the examples to build their own code upon. >> >> In addition I note that there are 432 test resources that do not have a >> license header, however, as test resources it is legitimate to argue that >> the license header could affect the test. It would be good if we could get >> that number reduced, but only if we are confident that we are not >> introducing false test passes in the process. >> >> 3. There is one (non-test) archive bundled within the distribution: >> >> maven-ant-tasks-2.1.1.jar >> >> Given that this specific artifact suffers from the bootstrap issue (i.e. it >> needs Maven to build it) and the source is available and this artifact is >> not part of the built code, but rather the build process, I am unclear as >> to what the legal requirement for including this in the source >> distribution. It would be nice if we had some clarity on the artifact. OTOH >> it is code under the ASL and the NOTICE.txt perhaps covers it. >> >> >> On 25 May 2013 13:51, Jason van Zyl <ja...@tesla.io> wrote: >> >> > Here are the release bits for 3.1.0-alpha-1: >> > >> > Release notes: >> > >> > >> https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10500&version=18967 >> > >> > Staging repository: >> > https://repository.apache.org/content/repositories/maven-044/ >> > >> > Staged distribution: >> > >> > >> https://repository.apache.org/content/repositories/maven-044/org/apache/maven/apache-maven/3.1.0-alpha-1/ >> > >> > Staged Site: >> > http://maven.apache.org/ref/3.1.0-alpha-1 >> > >> > Thanks, >> > >> > Jason >> > >> > ---------------------------------------------------------- >> > Jason van Zyl >> > Founder & CTO, Sonatype >> > Founder, Apache Maven >> > http://twitter.com/jvanzyl >> > --------------------------------------------------------- >> > >> > We know what we are, but know not what we may be. >> > >> > -- Shakespeare >> > >> > >> > >> > >> > >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >> > For additional commands, e-mail: dev-h...@maven.apache.org >> > >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >> > For additional commands, e-mail: dev-h...@maven.apache.org >> > >> > >> > > > > -- > ----- > Arnaud Héritier > http://aheritier.net > Mail/GTalk: aheritier AT gmail DOT com > Twitter/Skype : aheritier --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org