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 IDs

The Maven group ID for Smooks cartridges, excluding the EDI and EDIFACT cartridges, is "org.smooks.cartridges". For the EDI and EDIFACT cartridges, the group ID is "org.smooks.cartridges.edi". All remaining Smooks artifacts have the groupId "org.smooks".

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

  • Smooks Core: "smooks-core"

  • Smooks Cartridges:

    • Calc: "smooks-calc-cartridge"

    • CSV: "smooks-csv-cartridge"

    • Fixed-length reader: "smooks-fixed-length-cartridge"

    • EDI: "smooks-edi-cartridge"

    • EDIFACT: "smooks-edifact-cartridge"

    • Javabean: "smooks-javabean-cartridge"

    • JSON: "smooks-json-cartridge"

    • Routing: "smooks-routing-cartridge"

    • Templating: "smooks-templating-cartridge"

    • Persistence: "smooks-persistence-cartridge"

    • Validation: "smooks-validation-cartridge"

    • DFDL: "smooks-dfdl-cartridge"

  • Commons: "smooks-commons" (all artifacts depend on Commons, so no need to specify a dependency on this module if you are already dependent on one of the others)

Note: All cartridges depend on "smooks-core". Therefore, if your project depends on one of the cartridges, there’s no need to specify the dependency on smooks-core.

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

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

Bill of Materials (BOM)

In order to guarantee compatibility between Smooks artifacts, we recommend you 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.0.0-RC4</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>
...

SNAPSHOTs

Smooks SNAPSHOTs are available from Sonatype OSSRH. 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>