Mailing List webobjects-dev@wocommunity.org Message #478
From: Ralf Schuchardt <rasc@gmx.de>
Subject: Re: [WO-DEV] ERJars collision with 3rd party jar
Date: Fri, 13 Oct 2023 16:12:15 +0200
To: WebObjects & WOnder Development <webobjects-dev@wocommunity.org>

Yes, maven would help you, because it gives you much more control over the jar versions included in a build.
BUT you should probably not migrate with a narrow deadline looming over you, as the integration is sometimes ... complicated, especially if you have no experience with it.

Have you tried to patch/update ERJar? Either by removing the problematic classes/packages or overwriting with newer versions? You could also build your own version of Wonder with manually updated jars bundled in ERJar.


Ralf


On 13 Oct 2023, at 15:44, Markus Ruggiero (rucotec) wrote:

Will Maven help in our scenario?
Should we plan for a Maven port? Now? Right away?

I spent the whole day juggling jars and massaging build paths in our main app and in the various frameworks - No success!

---markus---


On 12 Oct 2023, at 23:14, Markus Ruggiero (rucotec) <markus.ruggiero@rucotec.ch> wrote:

I have a big (?) problem.

We have a rather complex Wonder app built from several custom frameworks and a ton of Wonder frameworks. That’s all good so far. But now I need to include a 3rd party jar for sending out SMS/text (twilio.com). I created a simple out-of-the-box Wonder application and included that jar as a library. The app includes the standard ERJar framework. When I run the app I get a crash because the twilio lib makes a call to some Apache httpclient stuff that does not exist in ERJar (it is obviously newer). I can get a built jar including all dependencies from twilio. Adding this to my project instead of the “naked” one I still get the same crash. BUT reordering the class path in Eclipse so that twilio lib comes before ERJars makes everything work.

So I tried to include that complete twilio jar into my big Wonder App. But no matter what I do, I always get the crash that something in httpclient cannot be resolved. Dumping java.class.path clearly shows that ERJar is before my library, not matter how I try to rearrange the class path. So it seem that in my complex setup with included other custom frameworks ERJar is always moved further up and thus shadows the newer classes (why does this not happen with the initial simple Hello World app?)

How can I resolve this class path issue? All my projects are still ant-based. 

Please don’t tell me to switch to maven! I simply do not have the time to convert everything. I started to read up on maven but then urgent issues and required new functionality took all my time away. And as long as I could make things work easily there was no need to go maven. So for the sake of my schedule I really hope there is a way to get that stuff working in my ant setup, at least for the time being.

Any ideas?
Thanks a lot
---markus---



Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster