|
17 | 17 | package org.jboss.shamrock.deployment.steps;
|
18 | 18 |
|
19 | 19 | import java.io.File;
|
| 20 | +import java.nio.file.Files; |
| 21 | +import java.nio.file.Path; |
| 22 | +import java.nio.file.Paths; |
20 | 23 | import java.util.List;
|
21 | 24 | import java.util.Map;
|
22 | 25 | import java.util.stream.Collectors;
|
@@ -80,12 +83,18 @@ void build(List<SubstrateConfigBuildItem> substrateConfigBuildItems,
|
80 | 83 | String graalVmHome = System.getenv("GRAALVM_HOME");
|
81 | 84 |
|
82 | 85 | if (graalVmHome != null) {
|
83 |
| - String graalVmLibDirectory = graalVmHome + File.separator + "jre" + File.separator + "lib" + File.separator; |
| 86 | + Path graalVmLibDirectory = Paths.get(graalVmHome, "jre", "lib"); |
| 87 | + Path linuxLibDirectory = graalVmLibDirectory.resolve("amd64"); |
84 | 88 |
|
| 89 | + if (Files.exists(linuxLibDirectory)) { |
| 90 | + // On Linux, the SunEC library is in jre/lib/amd64/ |
| 91 | + systemProperty.produce(new SystemPropertyBuildItem("java.library.path", linuxLibDirectory.toString())); |
| 92 | + } else { |
| 93 | + // On MacOS, the SunEC library is directly in jre/lib/ |
| 94 | + systemProperty.produce(new SystemPropertyBuildItem("java.library.path", graalVmLibDirectory.toString())); |
| 95 | + } |
85 | 96 | systemProperty.produce(
|
86 |
| - new SystemPropertyBuildItem("java.library.path", graalVmLibDirectory + "amd64")); |
87 |
| - systemProperty.produce( |
88 |
| - new SystemPropertyBuildItem("javax.net.ssl.trustStore", graalVmLibDirectory + "security" + File.separator + "cacerts")); |
| 97 | + new SystemPropertyBuildItem("javax.net.ssl.trustStore", graalVmLibDirectory.resolve(Paths.get("security", "cacerts")).toString())); |
89 | 98 | } else {
|
90 | 99 | log.warn(
|
91 | 100 | "SSL is enabled but the GRAALVM_HOME environment variable is not set. The java.library.path property has not been set and will need to be set manually.");
|
|
0 commit comments