Usage

If you've never used a Maven plugin before please take a look at Maven's Getting Started Guide.

To use the plugin in your project you have to add it to the plugins section of your POM.

<plugin>
  <groupId>org.jibx</groupId>
  <artifactId>maven-jibx-plugin</artifactId>
  <version>1.2.3-SNAPSHOT</version>
  <executions>
    <execution>
      <goals>
        <goal>bind</goal>
      </goals>
    </execution>
  </executions>
</plugin>

The project also needs to include jibx-run and optionally jibx-extras in its dependencies.

<dependency>
  <groupId>org.jibx</groupId>
  <artifactId>jibx-run</artifactId>
  <version>1.2.3-SNAPSHOT</version>
</dependency>
<dependency>
  <groupId>org.jibx</groupId>
  <artifactId>jibx-extras</artifactId>
  <version>1.2.3-SNAPSHOT</version>
</dependency>

Configuration

The plugin supports the following configuration options.

option default description
directory src/main/config In which directory to search for binding definitions.
includes binding.xml Which files in the configuration directory to include as binding definitions.
excludes none Which files in the configuration directory that will be matched by one the include patterns to exclude.
multi-module false Control flag to enable multi-module mode. (See modes.html#Multi-module mode)
modules none Which modules to include in multi-module mode. (See modes.html#Restricted multi-module mode)
load false Control flag for test loading generated/modified classes.
validate true Control flag for binding definition validation.
verbose false Control flag for verbose processing reports.
verify false Control flag for verifying generated/modified classes with BCEL.

Example

This example would include all files ending in -binding.xml except template-binding.xml in the src/main/jibx directory and output verbose messages during binding compilation:

<plugin>
  <groupId>org.jibx</groupId>
  <artifactId>maven-jibx-plugin</artifactId>
  <version>1.2.3-SNAPSHOT</version>
  <configuration>
    <directory>src/main/jibx</directory>
    <includes>
      <includes>*-binding.xml</includes>
    </includes>
    <excludes>
      <exclude>template-binding.xml</exclude>
    </excludes>
    <verbose>true</verbose>
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>bind</goal>
      </goals>
    </execution>
  </executions>
</plugin>

Download

If you want the plugin and libraries to be automatically downloaded then include the respective repositories in your POM.

<repositories>
  <repository>
    <id>jibx.sf.net</id>
    <name>JiBX repository</name>
    <url>http://jibx.sf.net/maven2</url>
    <releases>
      <updatePolicy>never</updatePolicy>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>
<pluginRepositories>
  <pluginRepository>
    <id>jibx.sf.net</id>
    <name>JiBX repository</name>
    <url>http://jibx.sf.net/maven2</url>
    <releases>
      <updatePolicy>never</updatePolicy>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </pluginRepository>
</pluginRepositories>