Repository navigation
Getting Started and Prerequisites
Before building or running the Alfresco Process Services (APS) SDK, ensure that your local development environment meets the system, repository, and licensing requirements outlined below.
The required JDK version depends on the target APS version specified in your build profile:
- APS versions <= 25.x: OpenJDK 17
- APS versions >= 26.x: OpenJDK 21
Note: For legacy APS versions, the
2.xbranch supports OpenJDK 11 (and 17 for >= 2.4.x), and themasterbranch (APS 1.x) supports OpenJDK 8 / 11. Refer to Supported APS Versions & Maven Profiles for full details.
Ensure your JAVA_HOME environment variable points to the corresponding JDK installation:
java -version-
Maven 3.9.x (3.9.0 or higher is required and enforced by
maven-enforcer-plugin). Verify your Maven installation:
mvn -version- Docker Desktop (macOS / Windows) or Docker Engine (Linux).
- Docker Compose v2 (
docker composecommand support). - Docker must have sufficient resources allocated (recommended: at least 4 CPU cores and 6 GB - 8 GB RAM).
Alfresco Process Services enterprise artifacts (including base WAR files, engine libraries, and private dependencies) are hosted in private Alfresco Nexus repositories. You must have valid Alfresco customer or partner credentials.
Configure your Maven user settings file (~/.m2/settings.xml) with the following server entries:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>activiti-enterprise-releases</id>
<username>yourAlfrescoUsername</username>
<password>yourAlfrescoPassword</password>
</server>
<server>
<id>enterprise-releases</id>
<username>yourAlfrescoUsername</username>
<password>yourAlfrescoPassword</password>
</server>
<server>
<id>internal-thirdparty</id>
<username>yourAlfrescoUsername</username>
<password>yourAlfrescoPassword</password>
</server>
</servers>
</settings>Note: The repository URLs are already declared in the project's root
pom.xml, pointing tohttps://artifacts.alfresco.com/nexus/content/repositories/.... The IDs in yoursettings.xmlmust match the server IDs defined in the POM.
Alfresco Process Services requires valid licenses for runtime startup, unit testing with the embedded engine, and building Docker containers.
Create or check the /license directory located at the root of the project:
aps-sdk-3.x/
├── license/
│ ├── activiti.lic
│ └── transform.lic (or Aspose.Total.Java.lic)
-
activiti.lic: The core APS license file. -
transform.lic(orAspose.Total.Java.lic): Document transformation and rendering license.
You do not need to manually copy licenses into submodule target folders. The SDK's Maven build automatically propagates licenses:
- Copies
license/*.lictoaps-extensions-jar/src/test/resources/during thegenerate-test-resourcesphase for embedded unit tests. - Copies
license/*.lictoactiviti-app-overlay-docker/src/main/docker/license/during thepre-integration-testphase for Docker image packaging.
Once prerequisites and credentials are in place, run a quick unit test execution to verify your environment:
mvn clean testIf the build compiles and tests pass, your environment is ready to start development!
To generate a new APS project instantly, use the Maven Project Archetype hosted on Maven Central:
mvn archetype:generate \
-DarchetypeGroupId=io.github.alfresco-aps-sdk \
-DarchetypeArtifactId=aps-project-archetype \
-DarchetypeVersion=3.1.3 \
-DgroupId=com.example \
-DartifactId=my-aps-project \
-Dversion=1.0.0-SNAPSHOT \
-Dpackage=com.example.aps \
-DinteractiveMode=false