All Smooks components are available from the Maven Central Repository. If your building Smooks from source using Maven, please use:

  1. Java 8 or higher

  2. Maven 3

Artifact Coordinates

The artifact coordinates for each of the Smooks artifact is as follows:

Artifact Name Artifact ID Group ID Comment

Core

smooks-core

org.smooks

All cartridges depend on smooks-core. In other words, if your project declares a dependency on a cartridge, then there is no need to additionally declare the smooks-core dependency.

Management

smooks-management

org.smooks

Commons

smooks-commons

org.smooks

All Smooks artifacts depend on smooks-commons, so no need to specify a dependency on this module if you are already dependent on one of the others.

Calculation Cartridge

smooks-calc-cartridge

org.smooks.cartridges

CSV Cartridge

smooks-csv-cartridge

org.smooks.cartridges

Fixed-Length Cartridge

smooks-fixed-length-cartridge

org.smooks.cartridges

EDI Cartridge

smooks-edi-cartridge

org.smooks.cartridges.edi

EDIFACT Cartridge

smooks-edifact-cartridge

org.smooks.cartridges.edifact

JavaBean Cartridge

smooks-javabean-cartridge

org.smooks.cartridges

JSON Cartridge

smooks-json-cartridge

org.smooks.cartridges

Routing Cartridge

smooks-routing-cartridge

org.smooks.cartridges

Templating Cartridge

smooks-templating-cartridge

org.smooks.cartridges

Persistence Cartridge

smooks-persistence-cartridge

org.smooks.cartridges

Validation Cartridge

smooks-validation-cartridge

org.smooks.cartridges

DFDL Cartridge

smooks-dfdl-cartridge

org.smooks.cartridges

Here is an example declaring a dependency on a Smooks artifact:

<dependency>
    <groupId>org.smooks.cartridges</groupId>
    <artifactId>smooks-javabean-cartridge</artifactId>
    <version>2.0.1</version>
</dependency>

See the POMs in the examples for references of Maven-managed applications that depend on different Smooks cartridges.

Bill of Materials (BOM)

In order to guarantee compatibility between Smooks artifacts, it is recommended to import the Smooks BOM from your POM before declaring dependencies on Smooks:

...
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.smooks</groupId>
            <artifactId>smooks-bom</artifactId>
            <version>2.1.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
...

The BOM will manage the dependency versions therefore omit the version element when declaring Smooks dependencies:

...
<dependencies>
    <dependency>
        <groupId>org.smooks</groupId>
        <artifactId>smooks-core</artifactId>
    </dependency>
    ...
</dependencies>
...

Edge

Snapshots are strongly discouraged from being deployed to production environments.

The latest Smooks snapshots are available from Sonatype OSSRH in order to test the latest features and bug fixes. You need to declare the Maven repository in your project’s POM:

<repositories>
    ....
    <repository>
        <id>oss.sonatype.org-snapshot</id>
         <url>http://oss.sonatype.org/content/repositories/snapshots</url>
         <releases>
            <enabled>false</enabled>
         </releases>
         <snapshots>
            <enabled>true</enabled>
         </snapshots>
    </repository>
</repositories>