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>
<groupId>gplugins</groupId>
<artifactId>quartz-scheduler</artifactId>
<scope>provided</scope>
<type>car</type>
</dependency>
target/plan/plan.xml:
<dependency>
<groupId>gplugins</groupId>
<artifactId>quartz-scheduler</artifactId>
<type>car</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