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 21:02:51 -0300
Hi Elizabeth,
Sorry for answering in a hurry. I was leaving the office.
If you take a look at the NSLog javadoc, you will find methods to change the out, err and debug loggers.
Sent from my iPhone
On 27/06/2011, at 20:19, Henrique Prange <email@hidden> wrote:
> 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