Re: webobjects with maven
Re: webobjects with maven
- Subject: Re: webobjects with maven
- From: Hugi Thordarson <email@hidden>
- Date: Mon, 01 Aug 2016 17:57:00 +0000
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