Ok and now I have updated my maven build so I don't need the endorsed
directory at all.

The only outstanding issue is that if you try and open projects in
eclipse that use these enhanced annotations eclipse will report
errors.  To fix this you will need to have the jars in your
jre/lib/endorsed on your developer machine

You build machine and operational env do not need them.

For what its worth this is how I did it.  I put this in the parent pom.xml file.

<build>
                <pluginManagement>
                        <plugins>
                         <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                                <version>2.1</version>
                                <configuration>
                                        
<outputDirectory>${project.build.directory}/endorsed</outputDirectory>
                                </configuration>
                        <executions>
                          <execution>
                                        <id>copy-endorsed</id>
                            <phase>generate-sources</phase>
                            <goals>
                              <goal>copy</goal>
                            </goals>
                            <configuration>
                              <artifactItems>
                                <artifactItem>
                                                        
<groupId>javax.xml.bind</groupId>
                                                        
<artifactId>jaxb-api</artifactId>
                                                        
<version>2.2.1-custom</version>
                                                        
<overWrite>true</overWrite>
                                                        
<destFileName>jaxb-api.jar</destFileName>
                                </artifactItem>

                                                <artifactItem>
                                                        
<groupId>javax.xml.ws</groupId>
                                                        
<artifactId>jaxws-api</artifactId>
                                                        <version>2.2.1</version>
                                                        
<overWrite>true</overWrite>
                                                        
<destFileName>jaxws-api.jar</destFileName>
                                </artifactItem>
                              </artifactItems>
                            </configuration>
                          </execution>
                        </executions>
                      </plugin>
                        </plugins>
                </pluginManagement>
                
                <plugins>
                          <plugin>
                               <groupId>org.apache.maven.plugins</groupId>
                               <artifactId>maven-compiler-plugin</artifactId>
                               <configuration>
                                 <compilerArguments>
                                   
<endorseddirs>${project.build.directory}/endorsed</endorseddirs>
                                 </compilerArguments>
                               </configuration>
                     </plugin>

                        <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                          <systemPropertyVariables>
                
<java.endorsed.dirs>${project.build.directory}/endorsed</java.endorsed.dirs>
                          </systemPropertyVariables>
                        </configuration>
                      </plugin>
                </plugins>
        </build>


And this in the particular projects where I needed to use the jaxb or
jaxws annotations that are not in 2.1

<build>
                <plugins>
                        <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        </plugin>
                </plugins>
        </build>

I am done now :-)

Cheers
Jason

On Thu, Mar 3, 2011 at 1:24 PM, Jason Pell <[email protected]> wrote:
> Yep confirmed it - it just requires the endorsed jars for building,
> not for runtime.  My operational
> environments have had their endorsed dirs blown away and still running
> nicely.  My build server
> still requires the jars.
>
> On Thu, Mar 3, 2011 at 12:51 PM, Jason Pell <[email protected]> wrote:
>> Hi,
>>
>> I decided I was curious enough to see if it would work without having
>> to change the endorsed directory.
>>
>> I deleted the jars out of the endorsed directory and started up my
>> application again and executed a web service which uses both jaxws
>> 2.2.1 and jaxb 2.2 + facets stuff and it started up perfectly fine
>> WITHOUT an endorsed directory.  What it looks like for me is that when
>> you compile the code you will probably need these jars in the endorsed
>> directory.  But as long as at runtime you have them in the classpath
>> it works fine.
>>
>> Does that sound correct to others?  Thats certainly my experience.
>>
>> Thanks
>> Jason
>>
>> On Thu, Mar 3, 2011 at 12:11 PM, Jason Pell <[email protected]> wrote:
>>> Hi,
>>>
>>> I did not try too hard to avoid putting it into the endorsed directory.
>>>
>>> However it occurs to me that if you are using JDK 6, you already have
>>> that problem using JAXB 2.2 anyway as JDK 6 uses JAXB 2.1.  If there
>>> is a way to use JAXB 2.2 in CXF without putting jars into the endorsed
>>> directory then the same can apply to the jaxb-facets enhanced
>>> jaxb-api.
>>>
>>> One way would be to define the endorsed dirs system property instead
>>> and point it to a directory within your application.  I have not even
>>> looked at this as we can modify the JRE and it was easier to do that.
>>>
>>> Cheers
>>> Jason
>>>
>>> On Thu, Mar 3, 2011 at 11:13 AM, Jason Chaffee <[email protected]> wrote:
>>>> This is exactly what we wanting, except it doesn't seem to support key 
>>>> restrictions...but it does support other constraints.  However, I cannot 
>>>> add any jars to the endorsed directory do to some operational constraints 
>>>> so it won't help me much, but it is still nice to know.
>>>>
>>>> Jason
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: [email protected] on behalf of Jason Pell
>>>> Sent: Wed 3/2/2011 2:53 PM
>>>> To: [email protected]
>>>> Cc: Hannes Holtzhausen; Jason Chaffee; Daniel Kulp
>>>> Subject: Re: JAXB: Any way to incorporate restrictions into annotations?
>>>>
>>>> Hi,
>>>>
>>>> I am using jaxb-facets with CXF and it works very nicely.
>>>>
>>>> http://www.infosys.tuwien.ac.at/staff/hummer/tools/jaxb-facets.html
>>>> http://java.net/projects/jaxb/lists/dev/archive/2011-02/message/0
>>>>
>>>> I did have to hack jaxb-api and jaxb-impl and put the hacked jaxb-api
>>>> into jre/lib/endorsed and override the
>>>> impl in CXF, but it works so well I was surprised.  I have since added
>>>> Date and Datetime validation and at some
>>>> point will need to add Decimal as well.
>>>>
>>>> If you want to get hold of my updated jaxb-api and jaxb-impl let me
>>>> know.  I can provide my enhancements to the original code from
>>>> [email protected]
>>>>
>>>> Its a real hack but it does exactly what I need and I have done it in
>>>> such a way that if at some point its built into jaxb I can back out my
>>>> changes
>>>> and make use of the core release again.
>>>>
>>>> Cheers
>>>> Jason
>>>>
>>>> On Wed, Mar 2, 2011 at 4:09 PM, Hannes Holtzhausen
>>>> <[email protected]> wrote:
>>>>> Have a look at XMLBeans If you are looking for an XML binding
>>>>> technology that supports the
>>>>> full XSD spec but still provides a Java bean style API for accessing
>>>>> and generating the XML.
>>>>>
>>>>> This is also not a 100% code first approach, you need to start with an
>>>>> XSD to generate XMLBeans.
>>>>> But you can do a code first web service once you have generated the 
>>>>> XMLBeans.
>>>>>
>>>>> http://cxf.apache.org/docs/xmlbeans.html
>>>>> http://xmlbeans.apache.org/
>>>>>
>>>>> Cheers
>>>>> Hannes
>>>>>
>>>>
>>>>
>>>
>>
>

Reply via email to