Re: webobjects with maven
Re: webobjects with maven
- Subject: Re: webobjects with maven
- From: Hugi Thordarson <email@hidden>
- Date: Mon, 01 Aug 2016 20:38:47 +0000
Indeed, it’s quite horrid. Sorry about not already having added the workaround to the wiki, I’ve been planning to document my WO/Maven migration for a while.
> On 1. ágú. 2016, at 20:25, anon <email@hidden> wrote:
>
> Okay....
>
> It works. It sure does look like a top secret.
>
> Who would have thought.
>
> Thank you very much.
>
>
> On 01.08.2016 19:57, Hugi Thordarson wrote:
>> You probably need to open the Eclipse .project-file in your project and add:
>>
>> <nature>org.maven.ide.eclipse.maven2Nature</nature>
>>
>> …as a project nature (inside the “natures"-tag).
>>
>> WebObjects uses this identifier to determine if the project is a Maven project, if it isn’t present it will think the bundle is FluffyBunny and looks for resources in wrong places.
>>
>> The nature identifier was changed in Eclipse a while back (to “org.eclipse.m2e.core.maven2Nature”, which you’ll see listed in your natures) but unfortunately the old name is defined in ERFoundarion.jar, a top secret, closed source jar donated to Wonder by Apple, so fixing this isn’t straightforward.
>>
>> Cheers,
>> - hugi
>>
>>
>>
>>> On 1. ágú. 2016, at 17:41, anon <email@hidden> wrote:
>>>
>>> I thought I had solved this problem but it turns out that I haven't. I have been developing with WOApplication and everything is working fine. When I switch to ERXApplication, then I get this error that I already showed here:
>>>
>>> <com.webobjects.appserver._private.WOComponentDefinition> No template found for component Main at "null"
>>>
>>> I am talking about the most basic of application (Hello World) which returns a blank page. While debugging, It seems that the _componentDefinitionCache.objectForKey(componentKey) returns a NullObject instead of returning a null like in the original WOApplication. Anyone has a quick fix for this?
>>> Thanks again.
>>> On 13.07.2016 18:14, Ramsey Gurley wrote:
>>>> You’re missing some boilerplate in Application.java.
>>>>
>>>> @Override
>>>> public void finishInitialization() {
>>>> super.finishInitialization();
>>>> if (isDirectConnectEnabled()) {
>>>> registerRequestHandler(new JarResourceRequestHandler(), "_wr_");
>>>> registerRequestHandler(new JarResourceRequestHandler(), "wr");
>>>> }
>>>> }
>>>>
>>>> /**
>>>> * Determines the WOSession class to instantiate.
>>>> *
>>>> * @see com.webobjects.appserver.WOApplication#_sessionClass()
>>>> */
>>>> @Override
>>>> protected Class<? extends WOSession> _sessionClass() {
>>>> return Session.class;
>>>> }
>>>>
>>>> /**
>>>> * Install patches including ensuring that Main is correctly resolved at
>>>> * runtime.
>>>> *
>>>> * @see er.extensions.appserver.ERXApplication#installPatches()
>>>> */
>>>> @Override
>>>> public void installPatches() {
>>>> super.installPatches();
>>>>
>>>> // component classes
>>>> installPatch(Main.class);
>>>>
>>>> // action classes
>>>> installPatch(DirectAction.class);
>>>> }
>>>>
>>>> /**
>>>> * Installs patching for a given class.
>>>> *
>>>> * @param clazz
>>>> * the class to register.
>>>> */
>>>> private static void installPatch(final Class<?> clazz) {
>>>> ERXPatcher.setClassForName(clazz, clazz.getSimpleName());
>>>> _NSUtilities.registerPackage(clazz.getPackage().getName());
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>> On Jul 12, 2016, at 5:28 PM, anon <email@hidden> wrote:
>>>>
>>>>> The first archetype I did use was crashing on "Run as WOApplication". I did try another one with "ERXApplication" and searched the mailing list for an answer. I can now start the application, but now I get the following error:
>>>>>
>>>>> DEBUG NSLog - <com.webobjects.appserver._private.WOComponentDefinition> No template found for component Main...
>>>>>
>>>>> I have searched the list and could not figure out what the solution was.
>>>>>
>>>>> Are there people out there who have WOApplication running in big WO Projects? I can see things like these getting out of control when the project gets big.
>>>>>
>>>>> On 07/13/2016 12:21 AM, Ramsey Gurley wrote:
>>>>>> This is what works for me, starting from nothing.
>>>>>>
>>>>>> 0. Install Java8
>>>>>> 1. Install Eclipse for Committers
>>>>>> 2. Install WOLips and m2e plugins
>>>>>> 3. Create ~.m2/settings.xml that points to wocommunity repository
>>>>>>
>>>>>> http://maven.wocommunity.org/content/groups/public/
>>>>>>
>>>>>> (I actually have a Nexus repository manager I point to, and it does this part. The
>>>>>> wiki.wocommunity.org
>>>>>> has an example settings.xml you can use though)
>>>>>> 4. Add WORemote archetypes catalog in eclipse:
>>>>>>
>>>>>> http://maven.wocommunity.org/service/local/repositories/snapshots/content/archetype-catalog.xml
>>>>>>
>>>>>> 5. Add lifecycle mappings in eclipse for any plugin executions you need eclipse to ignore.
>>>>>> 6. File, New, Other…, Maven Project, next>>, Catalog: WORemote, Include Snapshot Archetypes
>>>>>> Pick the appropriate project and create.
>>>>>>
>>>>>> You probably also want to search the list for JarResourceRequestHandler and some additional boilerplate to stick in your application’s didFinishLaunching() method.
>>>>>>
>>>>>> On Jul 12, 2016, at 3:05 PM, anon
>>>>>> <email@hidden>
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>> Hello everyone,
>>>>>>> after a 6 years hiatus from WebObjects, I am back again. Web development out there is in a sad state. I decided to give WO another try. I wanted to use maven to manage my dependencies; I like the predictability and the structure of maven instead of the free form of ant or gradle. Anyway, I was able to create a "Hello World" Application but I was not able to run it as a WOApplication. This is the error that I get:
>>>>>>>
>>>>>>> An internal error occurred during: "Launching New_configuration".
>>>>>>> java.lang.NullPointerException
>>>>>>>
>>>>>>> So I was wondering whether there are people out there who use maven but can still run the application like a regular WOApp?
>>>>>>> After going through almost all JVM Webframeworks, I believe strongly that a framework that does not have a main class that one can run and that starts fast is not worth using. Thats one of the main reason I will use WebObjects for my next project.
>>>>>>>
>>>>>>> I really appreciate any help.
>>>>>>> _______________________________________________
>>>>>>> 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