Mailing List webobjects-dev@wocommunity.org Message #479
From: Aaron Rosenzweig <aaron@chatnbike.com>
Subject: Re: [WO-DEV] ERJars collision with 3rd party jar
Date: Fri, 13 Oct 2023 20:07:12 -0400
To: WebObjects & WOnder Development <webobjects-dev@wocommunity.org>
Hi Markus, 

Maven isn’t a silver bullet, you don’t have to go to it at this moment and doing so may not solve your issues anyway. If you have some code that uses an old API and other code that uses a newer API you will be in a pickle. 

I didn’t fully understand what you said. On the one hand, you were able to get the twillio jar loaded first in Eclipse and things were good. Then you said no matter how you rearrange, it didn’t work. So which is it? Could you rearrange or not? 

Perhaps you are saying that within Eclipse you can rearrange and get things to work… and maybe in Jenkins/Hudson (if you are using that) you can’t get it to build. I don’t know, I’m only guessing. If this is indeed the case then maybe in the short term you can build the .woa from Eclipse and upload that until you fix Jenkins. 

Hope you get it figured out. It must be very frustrating. 

On Oct 12, 2023, at 5:14 PM, 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