Re: New car-maven-plugin issue

2006-08-17 Thread Jason Dillon
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

2006-08-15 Thread Jason Dillon

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

2006-08-15 Thread Aaron Mulder

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

2006-08-15 Thread Guillaume Nodet
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

2006-08-13 Thread Aaron Mulder

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