From 38a7bdd5e94259445193799cd973d921548b52a3 Mon Sep 17 00:00:00 2001 From: frd Date: Mon, 8 Jul 2019 11:27:23 -0600 Subject: [PATCH] Ref: https://github.com/deepy/sonar-crowd/issues/25 Added javax.xml.bind:jaxb-api:2.3.0, javax.activation:activation:1.1, com.sun.xml.bind:jaxb-core:2.3.0 and org.glassfish.jaxb:jaxb-runtime:2.3.0 dependencies. Forced the thread context loader (use when authenticating) to use the plugin context loader. --- pom.xml | 24 ++++++++++++++++++- .../org/sonar/plugins/crowd/CrowdRealm.java | 2 ++ .../plugins/crowd/CrowdUsersProvider.java | 2 ++ 3 files changed, 27 insertions(+), 1 deletion(-) 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);