So I'm trying to build a console extension with the car-maven-plugin.
It doesn't work. A web app that depends on the console cannot be processed by the car-maven-plugin, because the console cannot be loaded, because its classpath includes JARs in the WARs in the EAR and the mini-Geronimo in the car-maven-plugin can't add nested JARs to the class path. Any ideas? Ideally, we would just ignore such failures and "do our best". It seems like the easier path may be to move all the JARs out of the console and list them as dependencies instead. I'm not sure why the console requires Castor in any case... Thanks, Aaron java.lang.Error: Only local file jars are supported jar:file:/home/ammulder/.m2/repository/geronimo/webconsole-jetty/1.1.1/webconsole-jetty-1.1.1.car!/framework.war/WEB-INF/lib/castor-0.9.5.3.jar at org.apache.geronimo.kernel.classloader.UrlResourceFinder.cacheUrl(UrlResourceFinder.java:229) at org.apache.geronimo.kernel.classloader.UrlResourceFinder.rebuildClassPath(UrlResourceFinder.java:190) at org.apache.geronimo.kernel.classloader.UrlResourceFinder.addUrls(UrlResourceFinder.java:143) at org.apache.geronimo.kernel.classloader.UrlResourceFinder.addUrls(UrlResourceFinder.java:128) at org.apache.geronimo.kernel.classloader.JarFileClassLoader$2.run(JarFileClassLoader.java:136) at java.security.AccessController.doPrivileged(Native Method) at org.apache.geronimo.kernel.classloader.JarFileClassLoader.addURLs(JarFileClassLoader.java:134) at org.apache.geronimo.kernel.classloader.JarFileClassLoader.<init>(JarFileClassLoader.java:107) at org.apache.geronimo.kernel.config.Configuration.createConfigurationClasssLoader(Configuration.java:376) at org.apache.geronimo.kernel.config.Configuration.<init>(Configuration.java:267) at org.apache.geronimo.kernel.config.Configuration.<init>(Configuration.java:295) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.load(SimpleConfigurationManager.java:328) at org.apache.geronimo.deployment.DeploymentConfigurationManager.load(DeploymentConfigurationManager.java:119) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:292) at org.apache.geronimo.deployment.DeploymentConfigurationManager.loadConfiguration(DeploymentConfigurationManager.java:115) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:266) at org.apache.geronimo.deployment.DeploymentConfigurationManager.loadConfiguration(DeploymentConfigurationManager.java:111) at org.apache.geronimo.deployment.DeploymentContext.createTempConfiguration(DeploymentContext.java:113) at org.apache.geronimo.deployment.DeploymentContext.<init>(DeploymentContext.java:96) at org.apache.geronimo.deployment.DeploymentContext.<init>(DeploymentContext.java:78) at org.apache.geronimo.j2ee.deployment.EARContext.<init>(EARContext.java:70) at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:449) at org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(<generated>) at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817) at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) at org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$c3b81621.buildConfiguration(<generated>) at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:302) at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>) at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:852) at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239) at org.apache.geronimo.plugin.car.PackageBuilder.invokeDeployer(PackageBuilder.java:411) at org.apache.geronimo.plugin.car.PackageBuilder.execute(PackageBuilder.java:257) at org.apache.geronimo.plugin.car.PackageMojo.executePackageBuilderShell(PackageMojo.java:252) at org.apache.geronimo.plugin.car.PackageMojo.doExecute(PackageMojo.java:206) at org.apache.geronimo.plugin.MojoSupport.execute(MojoSupport.java:42) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) at org.apache.maven.cli.MavenCli.main(MavenCli.java:256) 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:585) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375)