Configuring Maven Settings for Aletyx Enterprise Build¶
Maven configuration is a crucial step in setting up your development environment for the Aletyx Enterprise Build of Apache KIE. This guide explains how to properly configure your Maven settings to access the Aletyx Maven repositories.
Understanding Maven Configuration¶
Maven uses the settings.xml
file to configure repository access, authentication, and other build settings. This file can be configured at two levels:
- Global level: Located at
$MAVEN_HOME/conf/settings.xml
- User level: Located at
~/.m2/settings.xml
(recommended)
The user-level configuration overrides the global configuration and is recommended for most developers.
Prerequisites¶
- Apache Maven 3.9.7 or higher
- JDK 17
- Valid Aletyx subscription credentials
Don't have subscription credentials, reach out to us!
If you don't have subscription credentials, reach out to us to get access.
Setting Up Your Maven Settings File¶
1. Locate or Create Your Settings File¶
First, check if you already have a user-level settings.xml
file:
If the file doesn't exist, you can create one:
2. Configure the Aletyx Maven Repository¶
Edit your settings.xml
file with the following configuration:
<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">
<!-- Server authentication for Aletyx Maven repository -->
<servers>
<server>
<id>maven-aletyx</id>
<configuration>
<httpHeaders>
<property>
<name>Authorization</name>
<value>Bearer YOUR_AUTH_TOKEN</value><!--(1)-->
</property>
</httpHeaders>
</configuration>
</server>
</servers>
<!-- Repository profiles -->
<profiles>
<profile>
<id>aletyx</id>
<!-- Main repositories -->
<repositories>
<repository>
<id>maven-aletyx</id>
<url>https://maven.aletyx.services</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<!-- Plugin repositories -->
<pluginRepositories>
<pluginRepository>
<id>maven-aletyx</id>
<url>https://maven.aletyx.services</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</pluginRepository>
<pluginRepository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!-- Activate the Aletyx profile -->
<activeProfiles>
<activeProfile>aletyx</activeProfile>
<activeProfile><!--(2)--></activeProfile>
</activeProfiles>
</settings>
- Replace
YOUR_AUTH_TOKEN
with your actual Aletyx authentication token provided with your subscription. - Leave any active profiles you currently have
3. Token Format¶
Your authentication token is provided as part of your Aletyx subscription. If you don't have your token:
The token format will be similar to: [email protected]|generatedTokenString
Verifying Your Configuration¶
To verify your Maven settings configuration is working correctly:
This command displays the effective settings Maven will use, including the repository information and active profiles.
To test repository access:
If successful, Maven will download the BOM file from the Aletyx repository.
Common Issues and Troubleshooting¶
Authentication Failures¶
If you see errors like:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.1.2:get (default-cli) on project standalone-pom:
Couldn't download artifact: Could not transfer artifact org.kie.kogito:kogito-bom:pom:10.0.0-aletyx from/to maven-aletyx (https://maven.aletyx.services):
authentication failed for https://maven.aletyx.services/org/kie/kogito/kogito-bom/10.0.0-aletyx/aletyx-enterprise-build-bom-10.0.0-aletyx.pom, status: 401 Unauthorized
Check:
- Your authentication token is correctly entered in the settings.xml file
- Your subscription is active
- The server ID in <servers>
matches the repository ID in <repositories>
Network Issues¶
If you're behind a corporate firewall or proxy, you may need additional configuration:
<proxies>
<proxy>
<id>corporate-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.company.com</host>
<port>8080</port>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
</proxies>
Enterprise Configuration Considerations¶
Repository Manager Integration¶
In enterprise environments, you may want to configure your organizational Maven repository manager (like Nexus or Artifactory) to proxy the Aletyx repository, rather than each developer configuring direct access.
Secure Token Storage¶
For improved security in team environments, consider:
- Using encrypted passwords in Maven settings
- Using environment variables with the Maven Environment Variables Extension
- Implementing a custom settings security solution for your organization
Next Steps¶
Now that you've configured Maven, you're ready to: