diff --git a/pom.xml b/pom.xml index 51b8a34..596075e 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,7 @@ + UTF-8 6.7 Crowd org.sonar.plugins.crowd.CrowdPlugin @@ -91,6 +92,26 @@ jcl-over-slf4j 1.7.25 + + javax.xml.bind + jaxb-api + 2.3.0 + + + javax.activation + activation + 1.1 + + + org.glassfish.jaxb + jaxb-runtime + 2.3.0 + + + com.sun.xml.bind + jaxb-core + 2.3.0 + org.sonarsource.sonarqube @@ -118,12 +139,13 @@ https://packages.atlassian.com/maven-public-legacy-local - + org.apache.maven.plugins maven-compiler-plugin + 3.8.1 8 8 diff --git a/src/main/java/org/sonar/plugins/crowd/CrowdRealm.java b/src/main/java/org/sonar/plugins/crowd/CrowdRealm.java index 3d17d2a..0f9c6f2 100644 --- a/src/main/java/org/sonar/plugins/crowd/CrowdRealm.java +++ b/src/main/java/org/sonar/plugins/crowd/CrowdRealm.java @@ -93,6 +93,8 @@ public void init() { this.authenticator = new CrowdAuthenticator(crowdClient); this.usersProvider = new CrowdUsersProvider(crowdClient); this.groupsProvider = new CrowdGroupsProvider(crowdClient); + // Had to add that as from "not really a good idea" in https://stackoverflow.com/questions/51518781/jaxb-not-available-on-tomcat-9-and-java-9-10 + Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); try { crowdClient.testConnection(); LOG.info("Crowd configuration is valid, connection test successful."); diff --git a/src/main/java/org/sonar/plugins/crowd/CrowdUsersProvider.java b/src/main/java/org/sonar/plugins/crowd/CrowdUsersProvider.java index 3588844..62d1176 100644 --- a/src/main/java/org/sonar/plugins/crowd/CrowdUsersProvider.java +++ b/src/main/java/org/sonar/plugins/crowd/CrowdUsersProvider.java @@ -47,6 +47,8 @@ public CrowdUsersProvider(CrowdClient crowdClient) { @Override public UserDetails doGetUserDetails(String username) { LOG.debug("Looking up user details for user {}", username); + // Had to add that as from "not really a good idea" in https://stackoverflow.com/questions/51518781/jaxb-not-available-on-tomcat-9-and-java-9-10 + Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); try { User user = crowdClient.getUser(username);