Maven Artifacts

Maven is a tool used to automate and simplify the development cycle of any Java-based project. The GigaSpaces plugin for Maven utilizes Maven to simplify the development cycle of GigaSpaces-based applications. This section describes the Maven artifacts that are provided, and how to get started with the data grid using Maven.

Installing Maven Artifacts

Prerequisites

Maven must be installed and included in your system PATH variable.

If you don't have Maven installed, refer to the Apache Maven documentation for download instructions.

Installation

To install the Maven artifacts, run the following command:

<GS_HOME>\bin\gs maven install
<GS_HOME>/bin/gs.sh maven install

Advanced Installation Options

Some Maven setups require a slightly different Maven installation process. GigaSpaces's Maven installation is designed to be customized if needed, and works as follows:

  1. Create a temporary directory ($GS_HOME/config/maven/installer), and a main pom.xml for the installation process.

  2. Add each artifact in $GS_HOME/config/maven/gs-artifacts.txt to the main pom.xml, and extract the artifact's pom.xml if needed.

  3. Install the main pom.xml using a standard mvn install command.

  4. Delete the temporary folder.

If needed, you can customize the list of installed artifacts by editing the gs-artifacts.txt file. In addition, the gs maven install command supports an optional --generate-only flag, which generates the temporary directory and files without installation (steps 1+2), so you can tailor the generated content to your needs.

GigaSpaces Maven Repository

GigaSpaces artifacts are not currently published in the Maven Central Repo, so you must first configure a repository:

<repository>
   <id>org.openspaces</id>
   <url>http://maven-repository.openspaces.org</url>
</repository>

GigaSpaces Artifacts

The main dependency required to use the data grid is xap-openspaces.

<dependency>
  <groupId>org.gigaspaces</groupId>
  <artifactId>xap-openspaces</artifactId>
  <version>14.5.0</version>
</dependency>

Core Artifacts

This section lists the core artifacts. You only need to add xap-openspaces, because all the other core artifacts are its dependencies.

The group ID for these artifacts is org.gigaspaces.

Artifact ID Location in product
xap-openspaces $GS_HOME/lib/required/xap-openspaces.jar
xap-datagrid $GS_HOME/lib/required/xap-datagrid.jar
xap-common $GS_HOME/lib/required/xap-common.jar
xap-trove $GS_HOME/lib/required/xap-trove.jar
xap-asm $GS_HOME/lib/required/xap-asm.jar

Extension Artifacts

This section lists extension artifacts. The group ID for these artifacts is org.gigaspaces.

Artifact ID Location in product Required for
xap-map $GS_HOME/lib/optional/map/xap-map.jar Map API
xap-map-spring $GS_HOME/lib/optional/map/xap-map-spring.jar Map API
xap-jms $GS_HOME/lib/optional/jms/xap-jms.jar JMS
xap-jetty $GS_HOME/lib/optional/jetty/xap-jetty/xap-jetty.jar Jetty PU Container
xap-mongodb $GS_HOME/lib/optional/mongodb/xap-mongodb.jar MongoDB integration
xap-spatial $GS_HOME/lib/optional/spatial/xap-spatial.jar Geospatial Queries
xap-full-text-search $GS_HOME/lib/optional/full-text-search/xap-full-text-search.jar Full Text Search

Premium Extensions

This section lists Premium artifacts. The group ID for these artifacts is com.gigaspaces.

Artifact ID Location in product Required for
xap-near-cache-spring $GS_HOME/lib/optional/near-cache/xap-near-cache-spring.jar Client Side Caching
xap-near-cache $GS_HOME/lib/optional/near-cache/xap-near-cache.jar Client Side Caching
xap-security $GS_HOME/lib/optional/security/xap-security.jar Security
xap-zookeeper $GS_HOME/lib/platform/zookeeper/xap-zookeeper.jar Consistency-biased leader election
xap-admin $GS_HOME/lib/platform/service-grid/xap-admin.jar Admin API

Enterprise Extensions

This section lists Enterprise artifacts. The group ID for these artifacts is com.gigaspaces.

Artifact ID Location in product Required for
xap-mx-rocksdb $GS_HOME/lib/optional/memoryxtend/rocksdb/xap-mx-rocksdb.jar MemoryXtend - SSD
xap-wan-gateway-spring $GS_HOME/lib/optional/wan-gateway/xap-wan-gateway-spring.jar WAN Replication
xap-wan-gateway $GS_HOME/lib/optional/wan-gateway/xap-wan-gateway.jar WAN Replication