You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ad...@apache.org on 2020/02/04 18:52:44 UTC

[maven-pmd-plugin] 01/01: [MPMD-297] - Classloader not being closed after PMD run

This is an automated email from the ASF dual-hosted git repository.

adangel pushed a commit to branch MPMD-297
in repository https://gitbox.apache.org/repos/asf/maven-pmd-plugin.git

commit 610b4378edd676b4fef8ffe9e5688b0f18fe3624
Author: Andreas Dangel <ad...@apache.org>
AuthorDate: Tue Feb 4 19:39:35 2020 +0100

    [MPMD-297] - Classloader not being closed after PMD run
---
 src/main/java/org/apache/maven/plugins/pmd/PmdReport.java | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java
index 0573e31..d7005cf 100644
--- a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java
+++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java
@@ -77,6 +77,8 @@ import net.sourceforge.pmd.renderers.HTMLRenderer;
 import net.sourceforge.pmd.renderers.Renderer;
 import net.sourceforge.pmd.renderers.TextRenderer;
 import net.sourceforge.pmd.renderers.XMLRenderer;
+import net.sourceforge.pmd.util.ClasspathClassLoader;
+import net.sourceforge.pmd.util.IOUtil;
 import net.sourceforge.pmd.util.ResourceLoader;
 import net.sourceforge.pmd.util.datasource.DataSource;
 import net.sourceforge.pmd.util.datasource.FileDataSource;
@@ -582,6 +584,14 @@ public class PmdReport
             }
             getLog().warn( message, e );
         }
+        finally
+        {
+            ClassLoader classLoader = pmdConfiguration.getClassLoader();
+            if ( classLoader instanceof ClasspathClassLoader )
+            {
+                IOUtil.tryCloseClassLoader( classLoader );
+            }
+        }
     }
 
     private void generateMavenSiteReport( Locale locale )