Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JAXB XJC Possible to suppress comment creation in generated classes?

Our project uses XJC to generate Java classes from an XSD. I'm using JAVA EE 6.

When all the XSDs we have are re-generated, the generated classes include this comment at the top of the file:

// Generated on: 2011.02.23 at 02:17:06 PM GMT  

Is it possible to suppress this comment? The reason is that we use SVN for version control, and every time we regenerate our classes, every single file shows as being changed in SVN, even though the only thing that differs is this comment. So I'd like to remove the comment altogether if possible.

There is a -no-header directive, but I don't want to remove the entire header, so that future generations know that it's a file generated from a tool, and that modifications will be overwritten. I only want to remove the timestamp. (Or alternatively, I'd remove the inbuilt header and then insert my own header somehow.)

like image 643
Matt Avatar asked Feb 23 '11 16:02

Matt


People also ask

Is XJC a JAXB?

Use the JAXB schema compiler, xjc command to generate JAXB-annotated Java classes. The schema compiler is located in the app_server_root \bin\ directory. The schema compiler produces a set of packages containing Java source files and JAXB property files depending on the binding options used for compilation.

How do you use XJC generated classes?

Open a command prompt. Run the JAXB schema compiler, xjc command from the directory where the schema file is located. The xjc schema compiler tool is located in the app_server_root \bin\ directory. Use the generated JAXB objects within a Java application to manipulate XML content through the generated JAXB classes.

What is JAXB XJC jar?

Old JAXB XJCContains source code needed for binding customization files into java sources. In other words: the *tool* to generate java classes for the given xml representation.

What is XJC tool?

Use the Java™ Architecture for XML Binding (JAXB) tools to generate Java classes from an XML schema with the xjc schema compiler tool.


1 Answers

I am using this Maven plugin which replaces the // Generated on: 2011.02.23 at 02:17:06 PM GMT line:

<plugin>     <groupId>com.google.code.maven-replacer-plugin</groupId>     <artifactId>maven-replacer-plugin</artifactId>     <version>1.3.8</version>     <executions>         <execution>              <phase>prepare-package</phase>                                       <goals>                 <goal>replace</goal>             </goals>         </execution>     </executions>     <configuration>                                  <includes>                                           <include>src/main/java/jaxb/*.java</include>                     </includes>         <token>^// Generated on.*$</token>         <value>// Generated on: [TEXT REMOVED by maven-replacer-plugin]</value>                                  <regexFlags>             <regexFlag>MULTILINE</regexFlag>         </regexFlags>     </configuration> </plugin> 
like image 118
cata Avatar answered Oct 06 '22 01:10

cata