Re: New car-maven-plugin issue
I have seen this problem happen only when a m1 repo is in the mix... something about m2 getting confused about metadata.xml bits...Do you have an m1 repo in your build?--jasonOn Aug 15, 2006, at 4:13 PM, Guillaume Nodet wrote:Trying to build a plugin to integrate ServiceMix in G 1.1,i' ve just seen that the deployer is unable to handle snapshots in m2 repo, as they are deployed with a timestamped name and notwith the SNAPSHOT version. For example, http://people.apache.org/maven-snapshot-repository/org/apache/servicemix/servicemix-core/3.0-incubating-SNAPSHOT/servicemix-core-3.0-incubating-20060815.104506-23.jar Not being able to use snapshots is not very friendly when you are developing ;)Is this an oversight or did I miss something ? On 8/13/06, Aaron Mulder [EMAIL PROTECTED] wrote: So I can build Plugin A (quartz-scheduler). But the build for PluginB (quartz-deployer) which depends on Plugin A fails to create the CARwith an error like this:INFO] [ERROR] FATAL ERROR[INFO] [INFO] org.gplugins.quartz.QuartzScheduler in classloadergplugins/quartz-deployer/0.3/car[INFO] [INFO] Tracejava.lang.NoClassDefFoundError: org.gplugins.quartz.QuartzScheduler inclassloader gplugins/quartz-deployer/0.3/car...at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java :76)at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeanData(ServiceConfigBuilder.java:295)at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeans(ServiceConfigBuilder.java :290)at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:256)at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration (ServiceConfigBuilder.java:211)So it's saying that a quartz-deployer GBean can't find aquartz-scheduler class. Now, both the POM for quartz-deployer and theplan for quartz-deployer include an entry for the quartz-scheduler CAR:POM:dependencygroupIdgplugins/groupIdartifactIdquartz-scheduler/artifactIdscopeprovided/scope typecar/type/dependencytarget/plan/plan.xml: dependencygroupIdgplugins/groupIdartifactIdquartz-scheduler/artifactId typecar/type /dependencyAnd when I deploy the quartz-deployer JAR by hand using the plan attarget/plan/plan.xml, then it works fine.What I don't understand is, how can service-config-builder not load the quartz-scheduler CAR dependency and then claim that the classesare missing? If it loaded the dependency, the classes should be there(e.g. it works if deployed to a real server). If it didn't load the dependency, why didn't it get a missing dependency error?Thanks, Aaron-- Cheers,Guillaume Nodet
Re: New car-maven-plugin issue
Did you get this resolved with the jar scope == provided? --jason On Aug 13, 2006, at 6:17 AM, Aaron Mulder wrote: So I can build Plugin A (quartz-scheduler). But the build for Plugin B (quartz-deployer) which depends on Plugin A fails to create the CAR with an error like this: INFO] -- -- [ERROR] FATAL ERROR [INFO] -- -- [INFO] org.gplugins.quartz.QuartzScheduler in classloader gplugins/quartz-deployer/0.3/car [INFO] -- -- [INFO] Trace java.lang.NoClassDefFoundError: org.gplugins.quartz.QuartzScheduler in classloader gplugins/quartz-deployer/0.3/car ... at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo (GBeanInfo.java:76) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeanDa ta(ServiceConfigBuilder.java:295) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeans( ServiceConfigBuilder.java:290) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfi guration(ServiceConfigBuilder.java:256) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfi guration(ServiceConfigBuilder.java:211) So it's saying that a quartz-deployer GBean can't find a quartz-scheduler class. Now, both the POM for quartz-deployer and the plan for quartz-deployer include an entry for the quartz-scheduler CAR: POM: dependency groupIdgplugins/groupId artifactIdquartz-scheduler/artifactId scopeprovided/scope typecar/type /dependency target/plan/plan.xml: dependency groupIdgplugins/groupId artifactIdquartz-scheduler/artifactId typecar/type /dependency And when I deploy the quartz-deployer JAR by hand using the plan at target/plan/plan.xml, then it works fine. What I don't understand is, how can service-config-builder not load the quartz-scheduler CAR dependency and then claim that the classes are missing? If it loaded the dependency, the classes should be there (e.g. it works if deployed to a real server). If it didn't load the dependency, why didn't it get a missing dependency error? Thanks, Aaron
Re: New car-maven-plugin issue
On 8/15/06, Jason Dillon [EMAIL PROTECTED] wrote: Did you get this resolved with the jar scope == provided? The problem with this one appears to be that the car-maven-plugin class loader can't access JARs inside CARs, so it can't load a proper class loader for WARs (with WEB-INF/lib/*.jar), RARs (with embedded JARs), EARs, or service modules that were deployed with a JAR and a plan. This is not a problem with the online deployer (the normal deploy tool) because the CARs it uses are unpacked, but the car-maven-plugin gets packed CARs from the local M2 repo. The workaround in my case was to deploy the service modules as plan-only modules with a dependency on an external JAR. This wasn't my preference because it means there are more files to download when installing the plugin, but it gets past the problem for now (since the external JARs are not packed they can be added to the class loader successfully). As far as I know there really isn't a good workaround for any module that depends on a WAR, RAR, or EAR. For example, we may not be able to auto-generate a plugin that adds a screen to the console, because it depends on the console EAR. David J had some thoughts about how to address this (which I've forgotten, but perhaps a class loader that silently unpacks modules to temp dirs or successfully reads JAR-within-JAR entries). I think Dain has talked about this kind of this before too. Still, no ETA. Thanks, Aaron On Aug 13, 2006, at 6:17 AM, Aaron Mulder wrote: So I can build Plugin A (quartz-scheduler). But the build for Plugin B (quartz-deployer) which depends on Plugin A fails to create the CAR with an error like this: INFO] -- -- [ERROR] FATAL ERROR [INFO] -- -- [INFO] org.gplugins.quartz.QuartzScheduler in classloader gplugins/quartz-deployer/0.3/car [INFO] -- -- [INFO] Trace java.lang.NoClassDefFoundError: org.gplugins.quartz.QuartzScheduler in classloader gplugins/quartz-deployer/0.3/car ... at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo (GBeanInfo.java:76) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeanDa ta(ServiceConfigBuilder.java:295) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeans( ServiceConfigBuilder.java:290) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfi guration(ServiceConfigBuilder.java:256) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfi guration(ServiceConfigBuilder.java:211) So it's saying that a quartz-deployer GBean can't find a quartz-scheduler class. Now, both the POM for quartz-deployer and the plan for quartz-deployer include an entry for the quartz-scheduler CAR: POM: dependency groupIdgplugins/groupId artifactIdquartz-scheduler/artifactId scopeprovided/scope typecar/type /dependency target/plan/plan.xml: dependency groupIdgplugins/groupId artifactIdquartz-scheduler/artifactId typecar/type /dependency And when I deploy the quartz-deployer JAR by hand using the plan at target/plan/plan.xml, then it works fine. What I don't understand is, how can service-config-builder not load the quartz-scheduler CAR dependency and then claim that the classes are missing? If it loaded the dependency, the classes should be there (e.g. it works if deployed to a real server). If it didn't load the dependency, why didn't it get a missing dependency error? Thanks, Aaron
Re: New car-maven-plugin issue
Trying to build a plugin to integrate ServiceMix in G 1.1,i' ve just seen that the deployer is unable to handle snapshots in m2 repo, as they are deployed with a timestamped name and notwith the SNAPSHOT version. For example, http://people.apache.org/maven-snapshot-repository/org/apache/servicemix/servicemix-core/3.0-incubating-SNAPSHOT/servicemix-core-3.0-incubating-20060815.104506-23.jar Not being able to use snapshots is not very friendly when you are developing ;)Is this an oversight or did I miss something ? On 8/13/06, Aaron Mulder [EMAIL PROTECTED] wrote: So I can build Plugin A (quartz-scheduler).But the build for PluginB (quartz-deployer) which depends on Plugin A fails to create the CARwith an error like this:INFO] [ERROR] FATAL ERROR[INFO] [INFO] org.gplugins.quartz.QuartzScheduler in classloadergplugins/quartz-deployer/0.3/car[INFO] [INFO] Tracejava.lang.NoClassDefFoundError: org.gplugins.quartz.QuartzScheduler inclassloader gplugins/quartz-deployer/0.3/car...at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java :76)at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeanData(ServiceConfigBuilder.java:295)at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeans(ServiceConfigBuilder.java :290)at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:256)at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration (ServiceConfigBuilder.java:211)So it's saying that a quartz-deployer GBean can't find aquartz-scheduler class.Now, both the POM for quartz-deployer and theplan for quartz-deployer include an entry for the quartz-scheduler CAR:POM:dependencygroupIdgplugins/groupIdartifactIdquartz-scheduler/artifactIdscopeprovided/scope typecar/type/dependencytarget/plan/plan.xml:dependencygroupIdgplugins/groupIdartifactIdquartz-scheduler/artifactId typecar/type/dependencyAnd when I deploy the quartz-deployer JAR by hand using the plan attarget/plan/plan.xml, then it works fine.What I don't understand is, how can service-config-builder not load the quartz-scheduler CAR dependency and then claim that the classesare missing?If it loaded the dependency, the classes should be there(e.g. it works if deployed to a real server).If it didn't load the dependency, why didn't it get a missing dependency error?Thanks, Aaron-- Cheers,Guillaume Nodet
New car-maven-plugin issue
So I can build Plugin A (quartz-scheduler). But the build for Plugin B (quartz-deployer) which depends on Plugin A fails to create the CAR with an error like this: INFO] [ERROR] FATAL ERROR [INFO] [INFO] org.gplugins.quartz.QuartzScheduler in classloader gplugins/quartz-deployer/0.3/car [INFO] [INFO] Trace java.lang.NoClassDefFoundError: org.gplugins.quartz.QuartzScheduler in classloader gplugins/quartz-deployer/0.3/car ... at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java:76) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeanData(ServiceConfigBuilder.java:295) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeans(ServiceConfigBuilder.java:290) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:256) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:211) So it's saying that a quartz-deployer GBean can't find a quartz-scheduler class. Now, both the POM for quartz-deployer and the plan for quartz-deployer include an entry for the quartz-scheduler CAR: POM: dependency groupIdgplugins/groupId artifactIdquartz-scheduler/artifactId scopeprovided/scope typecar/type /dependency target/plan/plan.xml: dependency groupIdgplugins/groupId artifactIdquartz-scheduler/artifactId typecar/type /dependency And when I deploy the quartz-deployer JAR by hand using the plan at target/plan/plan.xml, then it works fine. What I don't understand is, how can service-config-builder not load the quartz-scheduler CAR dependency and then claim that the classes are missing? If it loaded the dependency, the classes should be there (e.g. it works if deployed to a real server). If it didn't load the dependency, why didn't it get a missing dependency error? Thanks, Aaron