Repository navigation
Expand file tree
/
Copy pathtoolchains.xml.template
More file actions
186 lines (164 loc) · 6.11 KB
/
Copy pathtoolchains.xml.template
File metadata and controls
186 lines (164 loc) · 6.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<?xml version="1.0" encoding="UTF-8"?>
<!--
Maven Toolchains Configuration Template for WildFly Elytron
This file configures multiple JDK installations for multi-version testing.
SETUP INSTRUCTIONS:
1. Copy this file to ~/.m2/toolchains.xml:
cp toolchains.xml.template ~/.m2/toolchains.xml
2. Update the <jdkHome> paths to match your local JDK installations
3. Verify configuration:
mvn toolchains:display-toolchains
RECOMMENDED: Use SDKMAN for JDK management
Install SDKMAN:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
Install required JDKs:
# Temurin (Eclipse Adoptium - HotSpot JVM)
sdk install java 17.0.13-tem
sdk install java 21.0.5-tem
sdk install java 25.0.0-tem
# Semeru (IBM - OpenJ9 JVM)
sdk install java 17.0.13-sem
sdk install java 21.0.5-sem
sdk install java 25.0.0-sem
Set Java 25 as default for Maven execution:
sdk default java 25.0.0-tem
export JAVA_HOME=$HOME/.sdkman/candidates/java/current
USAGE:
Default build (uses JAVA_HOME - Java 25):
mvn clean install
Test with specific Java version:
mvn test -Djdk.test.version=17
mvn test -Djdk.test.version=21
mvn test -Djdk.test.version=25
Test with specific distribution:
mvn test -Djdk.test.version=21 -Djdk.test.vendor=semeru
mvn test -Djdk.test.version=21 -Djdk.test.vendor=temurin
Run all test permutations (requires profile in POM):
mvn install -Ptest-all-versions
-->
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0
http://maven.apache.org/xsd/toolchains-1.1.0.xsd">
<!-- ========================================
Java 17 - Temurin (Eclipse Adoptium)
======================================== -->
<toolchain>
<type>jdk</type>
<provides>
<version>17</version>
<vendor>temurin</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to your Java 17 Temurin installation -->
<!-- SDKMAN example: -->
<jdkHome>${env.HOME}/.sdkman/candidates/java/17.0.13-tem</jdkHome>
<!-- Alternative paths:
Linux: /usr/lib/jvm/temurin-17-jdk
macOS: /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
Windows: C:\Program Files\Eclipse Adoptium\jdk-17.0.13-hotspot
-->
</configuration>
</toolchain>
<!-- ========================================
Java 17 - Semeru (IBM OpenJ9)
======================================== -->
<toolchain>
<type>jdk</type>
<provides>
<version>17</version>
<vendor>semeru</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to your Java 17 Semeru installation -->
<!-- SDKMAN example: -->
<jdkHome>${env.HOME}/.sdkman/candidates/java/17.0.13-sem</jdkHome>
<!-- Alternative paths:
Linux: /usr/lib/jvm/semeru-17-jdk
macOS: /Library/Java/JavaVirtualMachines/semeru-17.jdk/Contents/Home
Windows: C:\Program Files\IBM\Semeru\jdk-17.0.13-openj9
-->
</configuration>
</toolchain>
<!-- ========================================
Java 21 - Temurin (Eclipse Adoptium)
======================================== -->
<toolchain>
<type>jdk</type>
<provides>
<version>21</version>
<vendor>temurin</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to your Java 21 Temurin installation -->
<!-- SDKMAN example: -->
<jdkHome>${env.HOME}/.sdkman/candidates/java/21.0.5-tem</jdkHome>
<!-- Alternative paths:
Linux: /usr/lib/jvm/temurin-21-jdk
macOS: /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
Windows: C:\Program Files\Eclipse Adoptium\jdk-21.0.5-hotspot
-->
</configuration>
</toolchain>
<!-- ========================================
Java 21 - Semeru (IBM OpenJ9)
======================================== -->
<toolchain>
<type>jdk</type>
<provides>
<version>21</version>
<vendor>semeru</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to your Java 21 Semeru installation -->
<!-- SDKMAN example: -->
<jdkHome>${env.HOME}/.sdkman/candidates/java/21.0.5-sem</jdkHome>
<!-- Alternative paths:
Linux: /usr/lib/jvm/semeru-21-jdk
macOS: /Library/Java/JavaVirtualMachines/semeru-21.jdk/Contents/Home
Windows: C:\Program Files\IBM\Semeru\jdk-21.0.5-openj9
-->
</configuration>
</toolchain>
<!-- ========================================
Java 25 - Temurin (Eclipse Adoptium)
======================================== -->
<toolchain>
<type>jdk</type>
<provides>
<version>25</version>
<vendor>temurin</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to your Java 25 Temurin installation -->
<!-- SDKMAN example: -->
<jdkHome>${env.HOME}/.sdkman/candidates/java/25.0.0-tem</jdkHome>
<!-- Alternative paths:
Linux: /usr/lib/jvm/temurin-25-jdk
macOS: /Library/Java/JavaVirtualMachines/temurin-25.jdk/Contents/Home
Windows: C:\Program Files\Eclipse Adoptium\jdk-25.0.0-hotspot
-->
</configuration>
</toolchain>
<!-- ========================================
Java 25 - Semeru (IBM OpenJ9)
======================================== -->
<toolchain>
<type>jdk</type>
<provides>
<version>25</version>
<vendor>semeru</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to your Java 25 Semeru installation -->
<!-- SDKMAN example: -->
<jdkHome>${env.HOME}/.sdkman/candidates/java/25.0.0-sem</jdkHome>
<!-- Alternative paths:
Linux: /usr/lib/jvm/semeru-25-jdk
macOS: /Library/Java/JavaVirtualMachines/semeru-25.jdk/Contents/Home
Windows: C:\Program Files\IBM\Semeru\jdk-25.0.0-openj9
-->
</configuration>
</toolchain>
</toolchains>