Re: Compiling ERExtensions in Sierra no worky
Re: Compiling ERExtensions in Sierra no worky
- Subject: Re: Compiling ERExtensions in Sierra no worky
- From: Chuck Hill <email@hidden>
- Date: Thu, 11 May 2017 19:32:51 +0000
- Thread-topic: Compiling ERExtensions in Sierra no worky
Wait, what? You had a life before?!!? :-P
Maven is actually good and useful provided that you do things The Maven Way and don’t try and fight it to do things the WO way.
Yes, Chuck just said that. No, I have not been drinking.
Chuck
On 2017-05-11, 12:29 PM, "Webobjects-dev on behalf of Hugi Thordarson" <webobjects-dev-bounces+chill=email@hidden on behalf of email@hidden> wrote:
The documentation on the wiki seems pretty outdated. But the transition isn’t really complicated. Most of the work is the manual work of converting the Eclipse project—here’s a basic guide for achieving that for an application project:
https://gist.github.com/hugith/e9a49e91fbcebe204e0feb4989f55631
Note that before you can actually do this, though, you’ll have to copy the following file to ~/.m2/settings.xml. It informs maven about the WOCommunity maven repositories where the WO specific stuff lives.
https://gist.github.com/hugith/e2887fad3baecdd493e0b9f5311fe0bf
After having done this with a few dozen projects, migrating a regular no-frills Fluffy Bunny project to maven takes me less than an hour these days (including upgrading the Jenkins build :). I sincerely recommend you give it a try. It’s a huge boon to productivity; dependency management alone will save you hours of headaches if you’re using any 3rd party software. And not having to manage framework installations is awesome.
Also, I currently don't have a life so I’m usually online to help if you run into issues ;).
Cheers,
- hugi
> On 11 May 2017, at 18:59, Tim Worman <email@hidden> wrote:
>
> I’m definitely interested in moving to Maven. It seems it can be a rocky transition from what I’ve seen. But it also positions one better to make the move to other technologies that probably utilize Maven too (Cayenne?).
>
> Is the wiki pretty up-to-date regarding what’s required to mavenize?
>
> Tim
> UCLA GSE&IS
>
>> On May 9, 2017, at 9:38 AM, Hugi Thordarson <email@hidden> wrote:
>>
>> You can also switch to maven and skip that whole “install WebObjects”-mess [ducks and runs away before anyone can beat him up]
>>
>> - hugi
>>
>>
>>> On 9 May 2017, at 16:05, Calven Eggert <email@hidden> wrote:
>>>
>>> I’ve finally managed to get the ERExtensions to compile without errors. The trick was to place the commons-lang3-3.5 folder (downloaded from apache) in the Libraries folder in ERExtensions like so:
>>> /Users/calven/WonderSource/Frameworks/Core/ERExtensions/Libraries
>>>
>>> And now all my WO projects run in Eclipse and from the terminal.
>>>
>>> Calven
>>>
>>>> On May 8, 2017, at 8:24 AM, Johann Werner <email@hidden> wrote:
>>>>
>>>> The reported constructor method signature
>>>>
>>>> (String, String, String, String, int, boolean, boolean)
>>>>
>>>> does only exist in Wonder’s variant of WOCookie and not in the original WOCookie class. Thus you probably have some sort of class ordering problem in your project. Check if ERXExtensions comes before JavaWebObjects.
>>>>
>>>> jw
>>>>
>>>>
>>>>> Am 08.05.2017 um 14:15 schrieb Calven Eggert <email@hidden>:
>>>>>
>>>>>
>>>>> I changed the woolies.properties to new point to the woolies.543.properties and now it works. Thanks for that hint. I suppose with the changes we discussed earlier in getting this setup it messed this up.
>>>>>
>>>>> However, I’m still having problems with one of my apps where I try to run it from eclipse and I get this error (which I thought was going to be corrected once that compile was working but no):
>>>>>
>>>>> java.lang.NoSuchMethodError: com.webobjects.appserver.WOCookie.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)V
>>>>> com.webobjects.foundation.NSForwardException [java.lang.NoSuchMethodError] com.webobjects.appserver.WOCookie.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)V:java.lang.NoSuchMethodError: com.webobjects.appserver.WOCookie.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)V
>>>>> at com.webobjects.foundation.NSForwardException._runtimeExceptionForThrowable(NSForwardException.java:39)
>>>>> at com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:124)
>>>>> at com.webobjects.foundation.NSNotificationCenter$_Entry.invokeMethod(NSNotificationCenter.java:588)
>>>>> at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:532)
>>>>> at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:546)
>>>>> at com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:370)
>>>>> at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:445)
>>>>> at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>>>>> at er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:2092)
>>>>> at er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:2057)
>>>>> at COREApplication.dispatchRequest(COREApplication.java:461)
>>>>> at com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
>>>>> at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
>>>>> at java.lang.Thread.run(Thread.java:748)
>>>>> Caused by: java.lang.NoSuchMethodError: com.webobjects.appserver.WOCookie.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)V
>>>>> at er.extensions.appserver.ERXApplication.addBalancerRouteCookie(ERXApplication.java:2853)
>>>>> at er.extensions.appserver.ERXApplication.addBalancerRouteCookieByNotification(ERXApplication.java:2836)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>>>> at com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:122)
>>>>> ... 12 more
>>>>>
>>>>>
>>>>> It works if I run the app from the terminal. What am I missing here?
>>>>>
>>>>>
>>>>>
>>>>>> On May 8, 2017, at 7:52 AM, Theodore Petrosky <email@hidden> wrote:
>>>>>>
>>>>>> I think you are going to find that your Apple WebObjects files are hurt. Of course you will not be able to use the apple WebObjects.mpkg will not install WO. You will need to use the WOInstaller.jar.
>>>>>>
>>>>>> What do you have in your wobuild.properties (~/Library), and what about ~/Library/Application\ Support/WOLips/wolips.properties
>>>>>>
>>>>>> I spun my wheels for hours to get this to work again in Sierra.
>>>>>>
>>>>>>
>>>>>>> On May 8, 2017, at 7:41 AM, Calven Eggert <email@hidden> wrote:
>>>>>>>
>>>>>>> I get the same error for this source.
>>>>>>>
>>>>>>>
>>>>>>>> On May 7, 2017, at 5:57 PM, Theodore Petrosky <email@hidden> wrote:
>>>>>>>>
>>>>>>>> So, you are trying to build ERExtensions only? What do you get when you do an ‘ant frameworks’ at the top level of your repo?
>>>>>>>>
>>>>>>>>
>>>>>>>>> On May 7, 2017, at 4:23 PM, Calven Eggert <email@hidden> wrote:
>>>>>>>>>
>>>>>>>>> I’ve been installing my dev environment on a new Mac in Sierra however, I’m having problems with one of my applications. When I build the Wonder code I get an error with ERExtensions. See below. I’ve downloaded the file org.apache.commons.lang3 cause of the error message but I still get the error. I’m not sure where this new file should go but something tells me this setup doesn’t feel quite right. Anyone else have the issue?
>>>>>>>>>
>>>>>>>>> Calven
>>>>>>>>> ----------
>>>>>>>>>
>>>>>>>>> calven$ cd /Users/calven/WonderSource/Frameworks/Core/ERExtensions
>>>>>>>>> calven$ ant
>>>>>>>>> Buildfile: /Users/calven/WonderSource/Frameworks/Core/ERExtensions/build.xml
>>>>>>>>>
>>>>>>>>> clean:
>>>>>>>>>
>>>>>>>>> ERExtensions.all:
>>>>>>>>>
>>>>>>>>> global.environment:
>>>>>>>>>
>>>>>>>>> global.properties:
>>>>>>>>>
>>>>>>>>> global.framework.clean:
>>>>>>>>> [delete] Deleting directory /Users/calven/Roots/classes/ERExtensions
>>>>>>>>>
>>>>>>>>> build:
>>>>>>>>>
>>>>>>>>> ERExtensions.all:
>>>>>>>>>
>>>>>>>>> global.environment:
>>>>>>>>>
>>>>>>>>> global.properties:
>>>>>>>>>
>>>>>>>>> global.prepare:
>>>>>>>>> [mkdir] Created dir: /Users/calven/Roots/classes/ERExtensions
>>>>>>>>>
>>>>>>>>> global.compile:
>>>>>>>>>
>>>>>>>>> global.dummy:
>>>>>>>>> [wocompile] Compiling 524 source files to /Users/calven/Roots/classes/ERExtensions
>>>>>>>>> [wocompile] /Users/calven/WonderSource/Frameworks/Core/ERExtensions/Sources/er/extensions/eof/ERXSortOrdering.java:5: error: package org.apache.commons.lang3.builder does not exist
>>>>>>>>> [wocompile] import org.apache.commons.lang3.builder.HashCodeBuilder;
>>>>>>>>> [wocompile] ^
>>>>>>>>> [wocompile] /Users/calven/WonderSource/Frameworks/Core/ERExtensions/Sources/er/extensions/eof/qualifiers/ERXExistsQualifier.java:13: error: package org.apache.commons.lang3 does not exist
>>>>>>>>> [wocompile] import org.apache.commons.lang3.StringUtils;
>>>>>>>>> [wocompile] ^
>>>>>>>>> [wocompile] /Users/calven/WonderSource/Frameworks/Core/ERExtensions/Sources/er/extensions/eof/qualifiers/ERXExistsQualifier.java:14: error: package org.slf4j does not exist
>>>>>>>>> [wocompile] import org.slf4j.Logger;
>>>>>>>>> [wocompile] ^
>>>>>>>>> [wocompile] /Users/calven/WonderSource/Frameworks/Core/ERExtensions/Sources/er/extensions/eof/qualifiers/ERXExistsQualifier.java:15: error: package org.slf4j does not exist
>>>>>>>>> [wocompile] import org.slf4j.LoggerFactory;
>>>>>>>>> [wocompile] ^
>>>>>>>>> [wocompile] /Users/calven/WonderSource/Frameworks/Core/ERExtensions/Sources/er/extensions/eof/ERXFetchResultCache.java:3: error: package org.slf4j does not exist
>>>>>>>>> [wocompile] import org.slf4j.Logger;
>>>>>>>>> [wocompile] ^
>>>>>>>>> [wocompile] /Users/calven/WonderSource/Frameworks/Core/ERExtensions/Sources/er/extensions/eof/ERXFetchResultCache.java:4: error: package org.slf4j does not exist
>>>>>>>>> [wocompile] import org.slf4j.LoggerFactory;
>>>>>>>>> [wocompile] ^
>>>>>>>>> [wocompile] /Users/calven/WonderSource/Frameworks/Core/ERExtensions/Sources/er/extensions/eof/qualifiers/ERXExistsQualifier.java:69: error: cannot find symbol
>>>>>>>>> [wocompile] static final Logger log = LoggerFactory.getLogger(ERXExistsQualifier.class);
>>>>>>>>> [wocompile] ^
>>>>>>>>> [wocompile] symbol: class Logger
>>>>>>>>> …
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>
>>>>>>>>> This email sent to email@hidden
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list (email@hidden)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>
>>>>> This email sent to email@hidden
>>>>
>>>
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list (email@hidden)
>>> Help/Unsubscribe/Update your Subscription:
>>>
>>> This email sent to email@hidden
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden