You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jason van Zyl (JIRA)" <ji...@codehaus.org> on 2012/11/14 00:55:16 UTC

[jira] (MNG-5122) MavenCli com.google.inject.internal.util.ComputationException: java.lang.NoClassDefFoundError: org/apache/maven/plugin/descriptor/MojoDescriptor

     [ https://jira.codehaus.org/browse/MNG-5122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason van Zyl closed MNG-5122.
------------------------------

    Resolution: Cannot Reproduce
    
> MavenCli com.google.inject.internal.util.ComputationException: java.lang.NoClassDefFoundError: org/apache/maven/plugin/descriptor/MojoDescriptor
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-5122
>                 URL: https://jira.codehaus.org/browse/MNG-5122
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Class Loading, Embedding
>    Affects Versions: 3.0.3
>         Environment: Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
> Java version: 1.6.0_16
> Java home: C:\Programme\Java\jdk1.6.0_16\jre
> Default locale: de_DE, platform encoding: Cp1252
> OS name: "windows 7" version: "6.1" arch: "x86" Family: "windows"
>            Reporter: Kati Golbang
>         Attachments: build.log, components.xml, pom.xml
>
>
> I want to use MavenCli in order to use Maven programatically within an installer (IzPack).
> pom.xml (see attachment).
>     I'm using
>     <dependency>
>     <groupId>org.apache.maven</groupId>
>     <artifactId>maven-embedder</artifactId>
>     <version>3.0-beta-3</version>
>     </dependency>
> Note that all dependencies are unzipped and part of the final installer jar (target/product-installer.jar). The components.xml contains all available components.xml files (merged by plexus-component-metadata plugin).
> how to build: mvn -X clean install > build.log
> At runtime (java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address="8000" -jar target/wigeoweb-installer.jar) following code is executed:
> MavenCli cli = new MavenCli();
> int result = cli.doMain(new String[]{"compile -X"},
> "C:/Develop/Experiments/webservercontext-maven-plugin", //Own plugin
> System.out, System.out);
> System.out.println("result: " + result);
> It terminates with exception while initializing plexus container (there's the place where the debugger exits):
> Exception:
> Listening for transport dt_socket at address: 8000
> [ERROR] Error executing Maven.
> [ERROR] com.google.inject.internal.util.ComputationException: java.lang.NoClassDefFoundError: org/apache/maven/plugin/descriptor/MojoDescriptor
> [ERROR] Caused by: java.lang.NoClassDefFoundError: org/apache/maven/plugin/descriptor/MojoDescriptor
> [ERROR] Caused by: org/apache/maven/plugin/descriptor/MojoDescriptor
> [ERROR] Caused by: org.apache.maven.plugin.descriptor.MojoDescriptor
> Source Code:
> private void container( CliRequest cliRequest )
> throws Exception
> {
> if ( cliRequest.classWorld == null )
> { cliRequest.classWorld = new ClassWorld( "plexus.core", Thread.currentThread().getContextClassLoader() ); }
> DefaultPlexusContainer container = this.container;
> if ( container == null )
> {
> ContainerConfiguration cc = new DefaultContainerConfiguration()
> .setClassWorld( cliRequest.classWorld )
> .setName( "maven" );
> *container = new DefaultPlexusContainer( cc ); //<<<<<<<<<<<<<<<<<<<<<< EXCEPTION THROWN*
> container.setLoggerManager( new MavenLoggerManager( logger ) );
> container.getLoggerManager().setThresholds( cliRequest.request.getLoggingLevel() );
> customizeContainer( container );
> if ( cliRequest.classWorld == classWorld )
> { this.container = container; }
> }
> maven = container.lookup( Maven.class );
> executionRequestPopulator = container.lookup( MavenExecutionRequestPopulator.class );
> modelProcessor = createModelProcessor( container );
> settingsBuilder = container.lookup( SettingsBuilder.class );
> dispatcher = (DefaultSecDispatcher) container.lookup( SecDispatcher.class, "maven" );
> }
> thank you
> K. Golbang

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira