Note: The current version of this library uses JVM-SDK-V2. This doc already contains updated information. Please migrate to this version, using our Migration Guide. The support for JVM SDK v1 has been discontinued with commercetools-sync-java v9.2.3 If migration isn't an option for you, you can still use deprecated versions of this library available at Maven central.
More at https://commercetools.github.io/commercetools-sync-java
Java library which allows to import/synchronise (import changes) the data from any arbitrary source to commercetools project.
Supported resources: Categories, Products, InventoryEntries, ProductTypes, Types, CartDiscounts, States, TaxCategories, CustomObjects, Customers, ShoppingLists
Create your own event or cronjob based application and use the library to transform any external data (JSON, CSV, XML, REST API, DB, ...) into JVM-SDK-V2 resource draft objects (e.g. CategoryDraft) and import those into the commercetools project.
Notes:
⚡ See the Quick Start Guide for more information on building a product importer!
>= 11
.
The library tested with each major JDK version (i.e: 11, 12, 13...) as well as some specific updates of LTS versions (i.e: 11.0.3 and above).
There are multiple ways to add the commercetools sync dependency to your project, based on your dependency manager. Here are the most popular ones:
<dependency>
<groupId>com.commercetools</groupId>
<artifactId>commercetools-sync-java</artifactId>
<version>10.0.5</version>
</dependency>
implementation 'com.commercetools:commercetools-sync-java:10.0.5'
libraryDependencies += "com.commercetools" % "commercetools-sync-java" % "10.0.5"
<dependency org="com.commercetools" name="commercetools-sync-java" rev="10.0.5"/>
Note: To avoid commercetools JVM SDK
libraries version mismatch between projects.
It is better not to add commercetools JVM SDK
dependencies explicitly into your project and use them from commercetools-Sync-Java
dependencies instead.
Please remove them if you have already added the below dependencies in your project.
For Gradle users, remove:
implementation "com.commercetools.sdk:commercetools-http-client:${version}"
implementation "com.commercetools.sdk:commercetools-sdk-java-api:${version}"
For Maven users, remove:
<dependency>
<groupId>com.commercetools.sdk</groupId>
<artifactId>commercetools-http-client</artifactId>
<version>version</version>
</dependency>
<dependency>
<groupId>com.commercetools.sdk</groupId>
<artifactId>commercetools-sdk-java-v2</artifactId>
<version>version</version>
</dependency>
If you want to use a different commercetools JVM SDK
version than the version used in this project.
, below you will find examples on how to exclude commercetools JVM SDK
from commercetools-sync-java library. Beware that library might not work with the older commercetools JVM SDK
versions.
For Gradle:
implementation('com.commercetools:commercetools-sync-java') {
exclude group: 'com.commercetools.sdk', module: 'commercetools-http-client'
exclude group: 'com.commercetools.sdk', module: 'commercetools-sdk-java-api'
}
For Maven:
<dependency>
<groupId>com.commercetools</groupId>
<artifactId>commercetools-sync-java</artifactId>
<version>version</version>
<exclusions>
<exclusion>
<groupId>com.commercetools.sdk</groupId>
<artifactId>commercetools-http-client</artifactId>
</exclusion>
<exclusion>
<groupId>com.commercetools.sdk</groupId>
<artifactId>commercetools-sdk-java-v2</artifactId>
</exclusion>
</exclusions>
</dependency>