It's not a secret anymore!*
The moose likes XML and Related Technologies and the fly likes JAXB 2 build error Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Engineering » XML and Related Technologies
Bookmark "JAXB 2 build error" Watch "JAXB 2 build error" New topic
Author

JAXB 2 build error

Graham Wagg
Greenhorn

Joined: Apr 30, 2008
Posts: 4
Hi. I'm using JAXB 2.1.7 for the first time, and am managing to generate the required files, but I seem to get a compile error in the generated package-info.java. Seems to me the package annotations are in package-info.java...any ideas? Thanks in advance.

The (generated) package-info.java:

@javax.xml.bind.annotation.XmlSchema(namespace = "http://yaddayadda_v_0_7", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package thepackage;


The error :

Compiling 1602 source files to rarara\services\target\classes
[javac] thepackage/package-info.java:8: package annotations should be in file package-info.java
[javac] @javax.xml.bind.annotation.XmlSchema(namespace = "http://yaddayadda_v_0_7", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
Graham Wagg
Greenhorn

Joined: Apr 30, 2008
Posts: 4
OK, sorted it.
Or rather, got round it, using the XJC Ant Task's nested argument �-npa� to suppress the creation of the package level annotations.

So, instead of the (bizarrely) problematic package-info.java :

Package-info.java

@javax.xml.bind.annotation.XmlSchema(namespace = "namespace", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)

package thepackage;



GeneratedClass.java
@XmlRootElement(name = "Generated-class")

public class GeneratedClass {


Instead, we have no package-info.java, and every generated class has the namespace inside as an annotation :

GeneratedClass.java

@XmlRootElement(name = "Generated-Class", namespace = "namespace")

public class GeneratedClass{

Cheers to anyone that looked, and hope that helps anyone.


PS. I still don't know WHY this happens, so if anyone can offer up a solution, that'd be grand.
Bob Marty
Greenhorn

Joined: Aug 14, 2008
Posts: 1
Hi there,

I have encountered a similar problem when I compile generated classes with ant, then I tried your XJC trick by passing the -npa agrument via the wsimport -B argument.
I clarify :

The problem is that I do not see any difference in the generated code : package-info.java files are still there with their annoying annotations .

My way to got round it was to use a v6 JVM, in fact I have no more annotations errors but this one :

I believe it has something to do with a difference between the embedded jax-ws version in java6 distrib (2.0 I guess) and the one I downloaded separately to use with the java5 release (2.1.3).

I have found something that could explain our common problem here, concerning the use of the javac command from jdk5.
I guess it could be a good explanation of our worries as the eclipse compiler seems to not be annoyed by the package-info.java files.

Any idea of the less dirty solution to apply ?
Thanks by advance for your help, your two precedent post were yet very helpful.

I am using :
ant 1.7.0 with eclipse 3.3.2
JRE 1.5.0_12 or JRE 1.6.0_03
Windows XP SP3
[ August 14, 2008: Message edited by: Bob Marty ]
Ciprian Radu
Greenhorn

Joined: Feb 23, 2009
Posts: 1
Hi,

I just encountered the same problem. I think it is just a matter of JDK version...

With 1.5.0_16 it gives me the error.
With 1.5.0_17 it doesn't give me the error!

Also I tested with 1.6 and it works.

So use 1.5.0 update 17 or above
 
wood burning stoves
 
subject: JAXB 2 build error
 
Similar Threads
JAXB and XML default namespace issue.
JAXB Marshalling to XML loses xmlns from 3rd party xsd
NetBeans gives compilation error while building the WebClient using jdk1.5
unable to generate correct xml using jaxb
JAX-WS and REST, anyone?