Yeah, that is interesting. I am using 3.1.1, so I am not sure why it didn't automatically load.
Gert Vanthienen wrote: > > Benamin, > > > Strange... > If you are using ServiceMix 3.1 or above, every JAR file that is in the > lib/ folder of your SU should have been added to the classpath > automatically (look at > http://incubator.apache.org/servicemix/classloaders.html, "New in > ServiceMix 3.1") > > > Gert > > Benamin wrote: >> Ok, I finally figured this out. For SU's you place classpath entries >> into >> xbean.xml rather than jbi.xml. Suppose for instance I have referenced a >> third-party jar called MyJar.jar in a jsr 181 SU. The xbean needs to >> have >> an entry such as >> >> <classpath> >> <location>lib/MyJar.jar</location> >> </classpath> >> >> Then, if you look in the zip file created by an mvn install, your lib dir >> should have that jar in it. It places it in there, because you specified >> a >> dependency on it in the pom.xml such as: >> >> <dependency> >> <groupId>com.mycompany</groupId> >> <artifactId>Myjar</artifactId> >> <version>1.0</version> >> </dependency> >> >> The xbean takes the path relative of the SU, so lib is the only part of >> the >> path you need to specify in the xbean classpath entry. >> >> >> >> Benamin wrote: >> >>> Since it doesn't seem like classpath can be changed for an SU, would it >>> make sense to try to change the classpath within the code for the jsr181 >>> SU I am deploying? >>> >>> >>> Benamin wrote: >>> >>>> I put the 1.4 in the dependency section, so I guess it automatically >>>> adds >>>> that to the file name when it creates the lib directory. >>>> >>>> At the moment I am looking at Sun's website for adding classpath to >>>> jbi.xml. It has examples for adding classpath for jbi components but >>>> not >>>> for SU's. >>>> >>>> http://java.sun.com/integration/pa1/docs/dev_guide/appendix_a.html >>>> >>>> >>>> >>>> Gert Vanthienen wrote: >>>> >>>>> L.S., >>>>> >>>>> >>>>> Which version of jaxrpc did you specify as a dependency in the pom.xml >>>>> file? Where do you see this jaxrpc.jar (without the version number)? >>>>> >>>>> >>>>> Gert >>>>> >>>>> >>>>> Benamin wrote: >>>>> >>>>>> Yes, the jar is there. I do notice the name is slightly different. >>>>>> It >>>>>> includes the version of the jar within the name like jaxrpc.jar has >>>>>> become >>>>>> jaxrpc-1.4.jar. >>>>>> >>>>>> >>>>>> >>>>>> Gert Vanthienen wrote: >>>>>> >>>>>>> Benamin, >>>>>>> >>>>>>> >>>>>>> Can you check if the resulting SU archive contains a lib directory >>>>>>> with >>>>>>> the required JAR in there? Normally, if you add a dependency to a >>>>>>> SU >>>>>>> pom.xml file, it is copied to the target/xxx-...-installer/lib >>>>>>> directory >>>>>>> to be packaged with the SU. >>>>>>> >>>>>>> >>>>>>> Gert >>>>>>> >>>>>>> Benamin wrote: >>>>>>> >>>>>>>> I'm building both a JBI component and a Service Unit. I have now >>>>>>>> figured >>>>>>>> out >>>>>>>> how to get ServiceMix to recognize the jars in the JBI component >>>>>>>> (for >>>>>>>> others >>>>>>>> that are having this problem, see my next post for solution), but I >>>>>>>> am >>>>>>>> still >>>>>>>> having problems with the Service Unit. >>>>>>>> >>>>>>>> I am building a Service Unit based on a JSR 181 component. The >>>>>>>> third >>>>>>>> party >>>>>>>> jar I am adding is for Web Service support. I added jaxrpc.jar to >>>>>>>> the >>>>>>>> dependency section of the pom, so that it would build correctly, >>>>>>>> but >>>>>>>> at >>>>>>>> runtime I get the no class def found error for one of the classes >>>>>>>> in >>>>>>>> jaxrpc.jar. The version of ServiceMix is 3.1. Thanks. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Gert Vanthienen wrote: >>>>>>>> >>>>>>>>> L.S., >>>>>>>>> >>>>>>>>> Some additional questions... >>>>>>>>> - Are you building a service unit or a JBI component? >>>>>>>>> - What version of ServiceMix are you using? >>>>>>>>> - Can you give an example of a third party jar that causes you the >>>>>>>>> problem? >>>>>>>>> >>>>>>>>> Gert >>>>>>>>> >>>>>>>>> Benamin wrote: >>>>>>>>> >>>>>>>>>> I can build ServiceMix components with third party jars, but I >>>>>>>>>> get >>>>>>>>>> errors >>>>>>>>>> at >>>>>>>>>> runtime, such as no class found errors. It appears the jars do >>>>>>>>>> get >>>>>>>>>> packaged >>>>>>>>>> within the zip file that ServiceMix creates in the target >>>>>>>>>> directory. If >>>>>>>>>> I >>>>>>>>>> put the jars into the $SERVICEMIX_HOME/lib dir manually, it >>>>>>>>>> works, >>>>>>>>>> I >>>>>>>>>> don't >>>>>>>>>> get the NO class found errors. >>>>>>>>>> >>>>>>>>>> Why does SMIX seem to ignore the jars it packages in the .zip >>>>>>>>>> file? >>>>>>>>>> >>>>>>>>>> >>>>> >>>> >>> >> >> > > -- View this message in context: http://www.nabble.com/runtime-error-when-referencing-third-party-jars-tf4098572s12049.html#a11678115 Sent from the ServiceMix - User mailing list archive at Nabble.com.
