Building your JiBX/WS application

The starter application contains Ant, Maven and Gradle build scripts that you can use as a basis for your builds.

Running the JiBX binding compiler

You will need to ensure that your binding definitions are compiled into your class files with the JiBX binding compiler. The starter application Ant script includes this in the compile-client and compile-server targets. The JiBX documentation contains a number of other options for running the binding compiler, including from the command line, or using Maven, or within your IDE.

Runtime Dependencies

The core JiBX/WS framework requires jibx-ws.jar file from the JiBX/WS distribution, along with the jibx-run.jar and jibx-extras.jar files from the base JiBX distribution. JiBX/WS uses Commons Logging, so you may also need to include commons-logging.jar and possibly log4j.jar, along with associated properties files (depending on your application server and logging configuration).

JiBX requires either an XMLPull parser or a StAX parser to be present on the classpath. The xpp3.jar file contains the XPP3 XMLPull parser. The wstx-asl.jar contains the Woodstox StAX parser. The Java SE version 6.0 release also contains a StAX implementation as part of JAXP 1.4. If both XMLPull and StAX parsers are found in the classpath, JiBX/WS obeys the rules defined in the JiBX runtime documentation.

To use the XBIS encoding, you will need to include xbis-jibx.jar.

Maven

JiBX/WS is available from the main Maven2 repository using

    <dependency>
      <groupId>org.jibx</groupId> 
      <artifactId>jibx-ws</artifactId>
      <version>{version}</version>
    </dependency>

, where {version} is replaced by the JiBX/WS version number. Note that a number of the transitive dependencies are optional and will be excluded by default. These optional dependencies include the XML parsers and the Spring Framework dependencies. To include these dependencies, you will need to explicitly declare them in your POM.

Maven users should also consider using the JiBX Maven plugin to run the JiBX binding compiler.

See the starter project for a sample Maven POM.

Gradle

See the starter project for a sample Gradle build file.

Ivy

If you are using Ivy to manage your dependencies, you will need to add the dependency

    <dependency org="org.jibx" name="jibx-ws" rev="{version}" />

to your ivy.xml, where {version} is replaced by the JiBX/WS version number. JiBX/WS is available from the main Maven2 (ibiblio) repository. As specified in the Maven section above, you may need to explicitly add some optional dependencies to your ivy.xml.

For Ivy users who want a bit more control over the different configurations, the JiBX/WS distribution contains a resolved ivy.xml in the root folder. If building JiBX/WS from source, the Ant publish-ivy-local target will publish to a local Ivy repository.