Axton, I have experienced that if you have the same classes in multiple jar files, that it uses the one that's in the classpath first, first. So...if you add the newer versions of the classes in your jar first, then the plugin server jar file, that I believe it should use the new ones before the old ones.
-----Original Message----- From: Action Request System discussion list(ARSList) [mailto:[email protected]] On Behalf Of Axton Sent: Tuesday, February 14, 2012 2:22 PM To: [email protected] Subject: Java Plugin Server - Class conflict I am trying to use Apache Commons Codec 1.6 in a plugin I am writing. The plugin server jar contains these classes, though an old version (too old to do what I would like to do): $ jar -tvf arpluginsvr75.jar |grep 'org/apache/commons/codec/' 0 Sun Sep 20 09:23:16 EDT 2009 org/apache/commons/codec/ 0 Sun Sep 20 09:23:16 EDT 2009 org/apache/commons/codec/binary/ 0 Sun Sep 20 09:23:16 EDT 2009 org/apache/commons/codec/digest/ 0 Sun Sep 20 09:23:16 EDT 2009 org/apache/commons/codec/language/ 0 Sun Sep 20 09:23:16 EDT 2009 org/apache/commons/codec/net/ 268 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/BinaryDecoder.class 268 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/BinaryEncoder.class 248 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/Decoder.class 391 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/DecoderException.class 248 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/Encoder.class 391 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/EncoderException.class 300 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/StringDecoder.class 300 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/StringEncoder.class 1190 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/StringEncoderComparator.class 5468 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/binary/Base64.class 2969 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/binary/BinaryCodec.class 2624 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/binary/Hex.class 704 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/binary/package.html 1860 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/digest/DigestUtils.class 708 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/digest/package.html 2470 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/language/DoubleMetaphone$DoubleMetaphoneResult.clas s 14791 Sat Jul 10 16:13:00 EDT 2004 org/apache/commons/codec/language/DoubleMetaphone.class 5050 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/language/Metaphone.class 2349 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/language/RefinedSoundex.class 3286 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/language/Soundex.class 1583 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/language/SoundexUtils.class 674 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/language/package.html 2661 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/net/BCodec.class 4052 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/net/QCodec.class 4511 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/net/QuotedPrintableCodec.class 2435 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/net/RFC1522Codec.class 252 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/net/StringEncodings.class 4432 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/net/URLCodec.class 696 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/net/package.html 1022 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/overview.html 3283 Sat Jul 10 16:13:02 EDT 2004 org/apache/commons/codec/package.html The problem is that the plugin resolves and uses the classes in the plugin server jar file, not the jar file I have referenced in my plugin server configuration: <plugin> <name>ARF.PLUGIN</name> <type>FilterAPI</type> <code>JAVA</code> <filename>/path/to/plugin.jar</filename> <classname>com.newyorklife.remedy.plugins.Extractor</classname> <pathelement type="location">/path/to/javacsv.jar</pathelement> <pathelement type="location">/path/to/commons-codec-1.6.jar</pathelement> <pathelement type="location">/path/to/mail.jar</pathelement> <pathelement type="location">/path/to/commons-lang3-3.1.jar</pathelement> <userDefined> <configfile>/path/to/config.properties</configfile> </userDefined> </plugin> Any ideas on how I can change the behavior of the classloader? Do I need to use something like java.lang.classloader? Thanks, Axton Grams ____________________________________________________________________________ ___ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug12 www.wwrug12.com ARSList: "Where the Answers Are" _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug12 www.wwrug12.com ARSList: "Where the Answers Are"

