users@jaxb.java.net

Re: Adapter get's ignored on a mac OS X (Solved)

From: Ely Schoenfeld <ely.jaxb.1_at_mitalteli.com>
Date: Tue, 04 Jan 2011 21:31:55 -0600

Hello again.

I managed to print all the properties from within the app.

I noticed in windows it wasn't really assigning the endorsed directory.
I decided to test it on the mac without the endorsed directory and
voilá!!! it works now.

Just in case it helps someone, here are my findings:

I don't understand it. It didn't work without it in a "Fedora Core
release 6" (java build 1.6.0_21-b06).

In a "Fedora Core release 5 (Bordeaux)" with a (java build 1.6.0_22-b04)
doesn't matter if I put it or not.

In the mac (java build 1.6.0_22-b04-307-10M3261) it just don't work with it.

I noticed a difference between the linux properties and the mac properties:



I guess It's kind of hard to "automate" the installation.


Ely.

> java.vm.vendor: Sun Microsystems Inc.
vs.
> java.vm.vendor: Apple Inc.

Maybe it has something to do with it.

El 04/01/2011 08:23 a.m., Ely Schoenfeld escribió:
> Forgot to say that the "$CLASSPATH" variable is empty before I execute
> my app. So there are no other directories included there.
>
> Thanks in advance.
>
> Ely.
>
> El 04/01/2011 08:19 a.m., Ely Schoenfeld escribió:
>> Hi.
>>
>> I can't find how to solve this (yet, I hope).
>>
>> Just to make sure I printed the classpath from within the app. There is
>> an entry for the directory containing the jaxb jars, as expected. What I
>> didn't do is to print the "endorsed" directories. I hope they aren't
>> getting ignored.
>>
>> Since I don't have permanent access to the mac computer, I hope I can
>> test that soon.
>>
>> In the meantime... Does anybody could give me ideas on what should I
>> test when I get access to the Mac OS X computer again?
>>
>> I execute the application using the same command that makes the
>> application work fine in Linux:
>>
>> -------------- BEGIN --------------
>> NOMBRE=CFD_1
>> CLASSPATH=.:$CLASSPATH:./MitalCFDs_lib/:./catalog/:MitalCFDs.jar
>> JAVA_ENDORSED_DIRS=MitalCFDs_lib-jaxbEndorsed/
>> JAVA_HOME=/usr/java/jre1.6.0_22
>> $JAVA_HOME/bin/java -classpath $CLASSPATH -Dfile.encoding=utf-8
>> -Ddir_actual=$NOMBRE -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS
>> com.mitalteli.cfd.feu.MitalCFDs
>> -------------- END ----------------
>>
>> I have the jaxb classes in MitalCFDs_lib
>>
>> The jaxb-api.jar is both in the MitalCFDs_lib directory and in the
>> MitalCFDs_lib-jaxbEndorsed directory
>>
>> I just changed the path for JAVA_HOME, from one system to the other.
>>
>> Is this ok?
>>
>> Any help would be really appreciated.
>>
>> Ely.
>>
>> El 03/01/2011 09:13 a.m., Ely Schoenfeld escribió:
>>> Hmmm... no. That's not the case, since I'm using:
>>>
>>> java ... -Djava.endorsed.dirs=lib-jaxbEndorsed/ ...
>>>
>>> Just the same way as I did in linux. I'm using the same jaxb-api.jar
>>> that comes from jaxb-ri-20091104
>>>
>>> Do you think there is a problem with that version and the mac os virtual
>>> machine?
>>>
>>> Thanks for answering.
>>>
>>> Ely.
>>>
>>> El 03/01/2011 07:29 a.m., Wolfgang Laun escribió:
>>>> Getting different results could be due to having different JAXB
>>>> versions on
>>>> those systems. Don't forget that there could be a more up-to-date JAXB
>>>> installed as an "endorsed" library.
>>>> -W
>>>>
>>>> On 3 January 2011 14:22, Ely Schoenfeld<ely.jaxb.1_at_mitalteli.com>
>>>> wrote:
>>>>
>>>>> Hello everybody.
>>>>>
>>>>> Happy new year.
>>>>>
>>>>> I'm struggling with making my application to work properly in a
>>>>> macintosh
>>>>> MacBook (Mac OS X Snow Leopard)
>>>>>
>>>>> The problem is that the generated xml doesn't get the correct numbers
>>>>> format upon marshalling. I don't know why, but it represents:
>>>>>
>>>>> 100 instead of a 1
>>>>> 10000,000000 instead of a 100.000000 (I'm not sure about the number of
>>>>> zeros, but it is using a "," instead of a ".")
>>>>>
>>>>> Anybody have had problems like this?
>>>>>
>>>>> It's very strange, since tried specifying by hand the Locale, and also
>>>>> created an DecimalFormatSymbols object specifying the "." as decimal
>>>>> separator.
>>>>>
>>>>> After that, while debugging, I discovered the Adapter responsible to
>>>>> format
>>>>> the numbers never gets called when running the application in the
>>>>> mac, but
>>>>> it does in other OSs. This is: The same Jar works just fine in
>>>>> windows (xp
>>>>> and 7) and linux (ubuntu and fedora).
>>>>>
>>>>> The java versions are:
>>>>>
>>>>> Windows:
>>>>> java version "1.6.0_22"
>>>>> Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
>>>>> Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
>>>>>
>>>>> Mac:
>>>>> java version "1.6.0_22"
>>>>> Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261)
>>>>> Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)
>>>>>
>>>>>
>>>>> I'm not sure what code snippets should I give. Please let me know what
>>>>> should I send.
>>>>>
>>>>> In the meantime, my xjb contains:
>>>>> --------------------
>>>>> <xjc:javaType name="java.math.BigDecimal" xmlType="cfd:t_Importe"
>>>>> adapter="com.mitalteli.cfd.feu.ImporteAdapter"
>>>>> />
>>>>> --------------------
>>>>>
>>>>> Thank you all.
>>>>>
>>>>> Ely.
>>>>>
>>>>>
>>>>>
>>>>