
Hello,
I've been struggling with upgrading our custom connector to be java 17 compatible, it works for java 8 and 11 but for java 17 I get this error message when building with maven locally:
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 10.51 s <<< FAILURE! -- in org.mule.extension.azure.authentication.azureauthenticationOperationsTestCase
[ERROR] org.mule.extension.azure.authentication.azureauthenticationOperationsTestCase.initializationError -- Time elapsed: 0.008 s <<< ERROR!
org.mule.runtime.api.exception.MuleRuntimeException: Error while building the 'ArtifactClassLoaderHolder'
Caused by: org.mule.runtime.api.exception.MuleRuntimeException: java.lang.IllegalCallerException: java.lang is not open to unnamed module @1a27aae3
Caused by: java.lang.IllegalCallerException: java.lang is not open to unnamed module @1a27aae3
at java.base/java.lang.Module.addOpens(Module.java:836)
at org.mule.runtime.jpms.api.JpmsUtils.lambda$openToModule$25(JpmsUtils.java:510)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.mule.runtime.jpms.api.JpmsUtils.lambda$openToModule$26(JpmsUtils.java:507)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.mule.runtime.jpms.api.JpmsUtils.openToModule(JpmsUtils.java:506)
at org.mule.runtime.jpms.api.JpmsUtils.openPackages(JpmsUtils.java:265)
at org.mule.runtime.jpms.api.JpmsUtils.createModuleLayerClassLoader(JpmsUtils.java:208)
at org.mule.test.runner.classloader.container.DefaultTestContainerClassLoaderAssembler.createContainerClassLoader(DefaultTestContainerClassLoaderAssembler.java:99)
at org.mule.test.runner.classloader.IsolatedClassLoaderFactory.createArtifactClassLoader(IsolatedClassLoaderFactory.java:146)
at org.mule.test.runner.api.ArtifactIsolatedClassLoaderBuilder.build(ArtifactIsolatedClassLoaderBuilder.java:302)
at org.mule.test.runner.ArtifactClassLoaderRunner.createClassLoaderTestRunner(ArtifactClassLoaderRunner.java:295)
at org.mule.test.runner.ArtifactClassLoaderRunner.<init>(ArtifactClassLoaderRunner.java:147)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:107)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:314)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
With this pom.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>6dbcc47a-fdf8-451c-86a7-b85588612515</groupId>
<artifactId>azure-authentication-connector</artifactId>
<version>3.0.0</version>
<packaging>mule-extension</packaging>
<name>azure-authentication-extension</name>
<parent>
<groupId>org.mule.extensions</groupId>
<artifactId>mule-modules-parent</artifactId>
<version>1.8.0</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.13.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.54.0</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>Central</id>
<name>Central</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>mulesoft-releases</id>
<name>MuleSoft Releases Repository</name>
<url>https://repository.mulesoft.org/releases/</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>anypoint-exchange-v3</id>
<name>Anypoint Exchange V3</name>
<url>https://maven.anypoint.mulesoft.com/api/v3/maven</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>azure-releases</id>
<url>https://maven.azure.com/artifactory/azure</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>mulesoft-releases</id>
<name>mulesoft release repository</name>
<layout>default</layout>
<url>https://repository.mulesoft.org/releases/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<distributionManagement>
<repository>
<id>xxxxxxxxxxx</id>
<url>xxxxxxxxxx</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</distributionManagement>
</project>
I have tested changing the version of mule-modules-parent, added the mule-sdk as a dependency but nothing makes the build green. Any help or guidance is much appreciated.