Re: Maven newbie - problem with building and including the Houdah frameworks in my project
Re: Maven newbie - problem with building and including the Houdah frameworks in my project
- Subject: Re: Maven newbie - problem with building and including the Houdah frameworks in my project
- From: Henrique Prange <email@hidden>
- Date: Mon, 27 Jun 2011 20:19:23 -0300
Hi Elizabeth,
On 27/06/2011, at 18:54, Elizabeth Lynch wrote:
> Hi Henrique
>
> If I use the exclusion, then maven builds the package ok, but when I run with jetty:run-war I get an exception:
>
> Caused by: java.lang.ClassCastException: com.webobjects.foundation.NSLog$Log4JLogger cannot be cast to com.webobjects.foundation.NSLog$PrintStreamLogger
> at com.houdah.foundation.PrincipalClass.<clinit>(PrincipalClass.java:53)
> ... 59 more
> 2011-06-27 22:48:51.722:INFO:/union:Unavailable javax.servlet.UnavailableException: Error initializing servlet adaptor: null
Which version of WebObjects are you using? The project uses Wonder and extends the ERXApplication class?
This error is happening because the default NSLog.out instance has changed from PrintStreamLogger to Log4JLogger. I'm not sure if this is happening because of a Properties configuration or any special code in the application.
Cheers,
Henrique
>
> If I don't use the exclusion then even after deleting the entire com.webobjects in the repository, I get exactly the same problem with the SNAPSHOT poms and jars not being found.
>
> Is there anywhere I can get these SNAPSHOT jars that the Houdah frameworks seem to need ?
>
> liz
>
>
> On 27 Jun 2011, at 19:57, Henrique Prange wrote:
>
>> Hi Elizabeth,
>>
>> Looks like a problem with version ranges. Your repository metadata is probably corrupted. You have two options:
>>
>> 1) Go to the ~/.m2/repository/com/webobjects/* directories and delete every maven-metadata* files.
>>
>> 2) Add the Houdah dependency with the exclusion configuration as below:
>>
>> <dependency>
>> <groupId>com.houdah</groupId>
>> <artifactId>HoudahEOAccess</artifactId>
>> <version>1.1</version>
>> <exclusions>
>> <exclusion>
>> <groupId>com.webobjects</groupId>
>> <artifactId>JavaFoundation</artifactId>
>> </exclusion>
>> <exclusion>
>> <groupId>com.webobjects</groupId>
>> <artifactId>JavaEOAccess</artifactId>
>> </exclusion>
>> <exclusion>
>> <groupId>com.webobjects</groupId>
>> <artifactId>JavaEOControl</artifactId>
>> </exclusion>
>> <exclusion>
>> <groupId>com.webobjects</groupId>
>> <artifactId>JavaJDBCAdaptor</artifactId>
>> </exclusion>
>> <exclusion>
>> <groupId>com.webobjects</groupId>
>> <artifactId>JavaXML</artifactId>
>> </exclusion>
>> </exclusions>
>> </dependency>
>>
>> Try to run 'mvn clean install -U' and see what happens.
>>
>> Cheers,
>>
>> Henrique
>>
>> On 27/06/2011, at 13:56, Elizabeth Lynch wrote:
>>
>>> Hi Henrique
>>>
>>> Thanks for getting back to me.
>>>
>>> I already had the .m2 settings.xml file present as per your instructions, so I therefore simply deleted my own com.houdah.... directory from the repository, and added the dependency to my project's pom file.
>>>
>>> On doing mvn clean package, the Houdah frameworks were indeed downloaded and installed into the repository. But my project build now fails with messages like:
>>>
>>> WARNING] The POM for com.webobjects:JavaFoundation:jar:5.4.1-SNAPSHOT is missing, no dependency information available
>>> [WARNING] The POM for com.webobjects:JavaFoundation:jar:6.0-SNAPSHOT is missing, no dependency information available
>>> [WARNING] The POM for com.webobjects:JavaEOControl:jar:5.4.1-SNAPSHOT is missing, no dependency information available
>>> [WARNING] The POM for com.webobjects:JavaEOControl:jar:6.0-SNAPSHOT is missing, no dependency information available
>>> etc
>>>
>>> and then
>>>
>>> ERROR] Failed to execute goal on project myproj: Could not resolve dependencies for project myproj.jar:1.0-SNAPSHOT: The following artifacts could not be resolved: com.webobjects:JavaFoundation:jar:6.0-SNAPSHOT, com.webobjects:JavaEOControl:jar:6.0-SNAPSHOT, com.webobjects:JavaEOAccess:jar:6.0-SNAPSHOT, com.webobjects:JavaJDBCAdaptor:jar:6.0-SNAPSHOT, com.webobjects:JavaXML:jar
>>>
>>> The project actually uses java frameworks already in the repository in webobjects/apple/java-eo-access etc
>>>
>>> If I remove the HoudahEOAccess dependency in my pom, my project builds and runs fine again.
>>>
>>> What's the best way round this?
>>>
>>> Liz
>>>
>>>
>>> On 27 Jun 2011, at 14:30, Henrique Prange wrote:
>>>
>>>> Hi Elizabeth,
>>>>
>>>> You don't need to build it. The latest version of Houdah framework is available in WOCommunity repository [1].
>>>>
>>>> Configure the Maven settings as described in this guide [2], and add the following dependency to the pom.xml:
>>>>
>>>> <dependency>
>>>> <groupId>com.houdah</groupId>
>>>> <artifactId>HoudahEOAccess</artifactId>
>>>> <version>1.1</version>
>>>> </dependency>
>>>>
>>>> Maven will download the HoudahEOAccess framework and the required transitive dependencies for you. :)
>>>>
>>>> [1]http://maven.wocommunity.org
>>>> [2]http://wiki.objectstyle.org/confluence/display/WOL/Quick+Start
>>>>
>>>> Sent from my iPhone
>>>>
>>>> On 26/06/2011, at 14:16, Elizabeth Lynch <email@hidden> wrote:
>>>>
>>>>> Hi
>>>>>
>>>>> I have recently taken on support of a WebObjects project which builds and deploy a war file from the command line using maven and jetty (and is in Eclipse for code development). I installed maven and the existing project code on my usual WO 5.4 development system and everything runs perfectly.
>>>>>
>>>>> I want to add the Houdah EOAccess framework to use the qualifier additions. I downloaded the source code from http://code.google.com/p/houdah-webobjects-frameworks/ and built EOControl and EOAccess frameworks by running mvn package with the packaging set to 'jar'. I have included an Info.plist in src/main/resources and set the 'flatten' property for maven-wolifecycle-plugin. (I have tried with packaging set to woframework and also to jar). I have installed the 3 jar files in my .m2 maven repository, set my project dependencies and checked that they are definitely included in my .war file snapshot after building.
>>>>>
>>>>> When I run the resulting app and try to access the houdah qualifier I get the exception:
>>>>>
>>>>> java.lang.IllegalArgumentException: Qualifier (groups CONTAINS at least 1 match(es) for ((name = 'Test')) (class com.houdah.eocontrol.qualifiers.ExistsInRelationshipQualifier (does not implement EOQualifierSQLGeneration.
>>>>>
>>>>> I can't work out how to get past this block. Can anyone advise on a way to build the frameworks and successfully include them in the project so that (a) they will be included in the final .war and (b) will work?
>>>>>
>>>>> Liz _______________________________________________
>>>>> 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