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: Elizabeth Lynch <email@hidden>
- Date: Mon, 27 Jun 2011 22:54:14 +0100
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
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