diff --git a/core/src/main/java/org/apache/cxf/version/Version.java b/core/src/main/java/org/apache/cxf/version/Version.java
index 24cb53f0466..b68fbcb2c45 100644
--- a/core/src/main/java/org/apache/cxf/version/Version.java
+++ b/core/src/main/java/org/apache/cxf/version/Version.java
@@ -19,8 +19,9 @@
package org.apache.cxf.version;
-import java.io.*;
-import java.util.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
public final class Version {
diff --git a/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java b/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
index 54542aefb4f..15a96c133c2 100644
--- a/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
+++ b/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
@@ -19,7 +19,7 @@
package org.apache.cxf.common.util;
-import java.util.*;
+import java.util.Properties;
import org.junit.Before;
import org.junit.Test;
diff --git a/core/src/test/java/org/apache/cxf/staxutils/StaxStreamFilterTest.java b/core/src/test/java/org/apache/cxf/staxutils/StaxStreamFilterTest.java
index c1c694d8970..9de01912d72 100644
--- a/core/src/test/java/org/apache/cxf/staxutils/StaxStreamFilterTest.java
+++ b/core/src/test/java/org/apache/cxf/staxutils/StaxStreamFilterTest.java
@@ -19,7 +19,7 @@
package org.apache.cxf.staxutils;
-import java.io.*;
+import java.io.InputStream;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamConstants;
diff --git a/integration/jca/src/main/java/org/apache/cxf/jca/core/classloader/PlugInClassLoaderHelper.java b/integration/jca/src/main/java/org/apache/cxf/jca/core/classloader/PlugInClassLoaderHelper.java
index 7589ec809eb..4139b37da63 100644
--- a/integration/jca/src/main/java/org/apache/cxf/jca/core/classloader/PlugInClassLoaderHelper.java
+++ b/integration/jca/src/main/java/org/apache/cxf/jca/core/classloader/PlugInClassLoaderHelper.java
@@ -19,9 +19,10 @@
package org.apache.cxf.jca.core.classloader;
-import java.io.*;
-import java.net.*;
-import java.util.*;
+import java.io.IOException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
import java.util.logging.Logger;
import org.apache.cxf.common.logging.LogUtils;
diff --git a/integration/jca/src/main/java/org/apache/cxf/jca/core/resourceadapter/AbstractManagedConnectionImpl.java b/integration/jca/src/main/java/org/apache/cxf/jca/core/resourceadapter/AbstractManagedConnectionImpl.java
index 8d957199a9a..f9b99105be5 100644
--- a/integration/jca/src/main/java/org/apache/cxf/jca/core/resourceadapter/AbstractManagedConnectionImpl.java
+++ b/integration/jca/src/main/java/org/apache/cxf/jca/core/resourceadapter/AbstractManagedConnectionImpl.java
@@ -18,8 +18,9 @@
*/
package org.apache.cxf.jca.core.resourceadapter;
-import java.io.*;
-import java.util.*;
+import java.io.PrintWriter;
+import java.util.HashSet;
+import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
diff --git a/integration/jca/src/main/java/org/apache/cxf/jca/core/resourceadapter/UriHandlerInit.java b/integration/jca/src/main/java/org/apache/cxf/jca/core/resourceadapter/UriHandlerInit.java
index 99f5bface65..727f02e9b74 100644
--- a/integration/jca/src/main/java/org/apache/cxf/jca/core/resourceadapter/UriHandlerInit.java
+++ b/integration/jca/src/main/java/org/apache/cxf/jca/core/resourceadapter/UriHandlerInit.java
@@ -18,7 +18,7 @@
*/
package org.apache.cxf.jca.core.resourceadapter;
-import java.util.*;
+import java.util.Properties;
import java.util.logging.Logger;
import org.apache.cxf.common.logging.LogUtils;
diff --git a/parent/pom.xml b/parent/pom.xml
index 9cfd6d49668..4966cdfc27f 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -438,12 +438,12 @@
net.sourceforge.pmd
pmd-core
- 7.27.0
+ 7.28.0
net.sourceforge.pmd
pmd-java
- 7.27.0
+ 7.28.0
diff --git a/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java b/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java
index abd9af5ad91..971759d1404 100644
--- a/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java
+++ b/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java
@@ -22,7 +22,16 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UncheckedIOException;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.common.util.SystemPropertyAction;
diff --git a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/DigestVerifier.java b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/DigestVerifier.java
index 44d02ca76e9..f5be2e3e29e 100644
--- a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/DigestVerifier.java
+++ b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/DigestVerifier.java
@@ -19,7 +19,10 @@
package org.apache.cxf.rs.security.httpsignature;
import java.security.MessageDigest;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Base64;
+import java.util.List;
+import java.util.Map;
import java.util.logging.Logger;
import org.apache.cxf.common.logging.LogUtils;
diff --git a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/MessageVerifier.java b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/MessageVerifier.java
index 50094f5e87e..c07381047dd 100644
--- a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/MessageVerifier.java
+++ b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/MessageVerifier.java
@@ -18,7 +18,11 @@
*/
package org.apache.cxf.rs.security.httpsignature;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
import java.util.logging.Logger;
import org.apache.cxf.common.logging.LogUtils;
diff --git a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/filters/CreateSignatureInterceptor.java b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/filters/CreateSignatureInterceptor.java
index 08f4126e00a..61e9d3f17a4 100644
--- a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/filters/CreateSignatureInterceptor.java
+++ b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/filters/CreateSignatureInterceptor.java
@@ -18,7 +18,8 @@
*/
package org.apache.cxf.rs.security.httpsignature.filters;
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import jakarta.annotation.Priority;
diff --git a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/filters/VerifySignatureFilter.java b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/filters/VerifySignatureFilter.java
index 14e36981774..f001a1c1fc2 100644
--- a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/filters/VerifySignatureFilter.java
+++ b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/filters/VerifySignatureFilter.java
@@ -18,7 +18,7 @@
*/
package org.apache.cxf.rs.security.httpsignature.filters;
-import java.io.*;
+import java.io.ByteArrayInputStream;
import jakarta.annotation.Priority;
import jakarta.ws.rs.BadRequestException;
diff --git a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/utils/SignatureHeaderUtils.java b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/utils/SignatureHeaderUtils.java
index 88fa37f4d0d..e4a6f248961 100644
--- a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/utils/SignatureHeaderUtils.java
+++ b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/utils/SignatureHeaderUtils.java
@@ -18,14 +18,19 @@
*/
package org.apache.cxf.rs.security.httpsignature.utils;
-import java.net.*;
+import java.net.URI;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.time.Clock;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.Base64;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
import java.util.stream.Stream;
import org.apache.cxf.rs.security.httpsignature.exception.DigestFailureException;
diff --git a/rt/rs/security/http-signature/src/test/java/org/apache/cxf/rs/security/httpsignature/SpecExamplesTest.java b/rt/rs/security/http-signature/src/test/java/org/apache/cxf/rs/security/httpsignature/SpecExamplesTest.java
index ec020ea598c..8f5bbe898dd 100644
--- a/rt/rs/security/http-signature/src/test/java/org/apache/cxf/rs/security/httpsignature/SpecExamplesTest.java
+++ b/rt/rs/security/http-signature/src/test/java/org/apache/cxf/rs/security/httpsignature/SpecExamplesTest.java
@@ -18,8 +18,11 @@
*/
package org.apache.cxf.rs.security.httpsignature;
-import java.io.*;
-import java.net.*;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.nio.file.FileSystems;
import java.nio.file.Files;
@@ -31,7 +34,13 @@
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import jakarta.ws.rs.client.ClientRequestContext;
import jakarta.ws.rs.container.ContainerRequestContext;
diff --git a/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java b/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java
index b0fe526ec36..8c36a85caf1 100644
--- a/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java
+++ b/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java
@@ -19,7 +19,12 @@
package org.apache.cxf.ws.policy;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
diff --git a/services/sts/sts-core/src/test/java/org/apache/cxf/sts/operation/IssueSamlUnitTest.java b/services/sts/sts-core/src/test/java/org/apache/cxf/sts/operation/IssueSamlUnitTest.java
index fed38a381da..b4da2de5404 100644
--- a/services/sts/sts-core/src/test/java/org/apache/cxf/sts/operation/IssueSamlUnitTest.java
+++ b/services/sts/sts-core/src/test/java/org/apache/cxf/sts/operation/IssueSamlUnitTest.java
@@ -20,7 +20,12 @@
import java.security.Principal;
import java.security.cert.X509Certificate;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Base64;
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+import java.util.Random;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
diff --git a/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/AsyncMethodTest.java b/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/AsyncMethodTest.java
index b77f525353f..224f6d38d2c 100644
--- a/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/AsyncMethodTest.java
+++ b/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/AsyncMethodTest.java
@@ -51,7 +51,10 @@
import org.junit.Test;
//CHECKSTYLE:OFF
-import static com.github.tomakehurst.wiremock.client.WireMock.*;
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.put;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaInterface.java b/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaInterface.java
index b8f5a09c7a1..a0880d689eb 100644
--- a/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaInterface.java
+++ b/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaInterface.java
@@ -22,7 +22,12 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
import org.w3c.dom.Element;
diff --git a/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaModel.java b/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaModel.java
index 44bbb614267..5aec622c277 100644
--- a/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaModel.java
+++ b/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaModel.java
@@ -19,7 +19,8 @@
package org.apache.cxf.tools.common.model;
-import java.util.*;
+import java.util.LinkedHashMap;
+import java.util.Map;
public class JavaModel {
diff --git a/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/BadUsageException.java b/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/BadUsageException.java
index bc218c1104f..80217f0c658 100644
--- a/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/BadUsageException.java
+++ b/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/BadUsageException.java
@@ -20,7 +20,7 @@
package org.apache.cxf.tools.common.toolspec.parser;
-import java.util.*;
+import java.util.Collection;
public class BadUsageException extends Exception {
diff --git a/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/CommandDocument.java b/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/CommandDocument.java
index a48ec579f81..827ea99791a 100644
--- a/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/CommandDocument.java
+++ b/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/CommandDocument.java
@@ -19,11 +19,14 @@
package org.apache.cxf.tools.common.toolspec.parser;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.w3c.dom.*;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.tools.common.toolspec.ToolSpec;
diff --git a/tools/corba/src/test/java/org/apache/cxf/tools/corba/common/CorbaPrimitiveMapTest.java b/tools/corba/src/test/java/org/apache/cxf/tools/corba/common/CorbaPrimitiveMapTest.java
index 43af3bc4933..abe575bf0a8 100644
--- a/tools/corba/src/test/java/org/apache/cxf/tools/corba/common/CorbaPrimitiveMapTest.java
+++ b/tools/corba/src/test/java/org/apache/cxf/tools/corba/common/CorbaPrimitiveMapTest.java
@@ -19,7 +19,8 @@
package org.apache.cxf.tools.corba.common;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
import javax.xml.namespace.QName;
diff --git a/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/JAXWSBindingSerializer.java b/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/JAXWSBindingSerializer.java
index af498815743..3cb77cd9569 100644
--- a/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/JAXWSBindingSerializer.java
+++ b/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customization/JAXWSBindingSerializer.java
@@ -19,7 +19,8 @@
package org.apache.cxf.tools.wsdlto.frontend.jaxws.customization;
-import java.io.*;
+import java.io.PrintWriter;
+import java.io.Serializable;
import javax.wsdl.Definition;
import javax.wsdl.WSDLException;
diff --git a/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToSoapProcessorTest.java b/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToSoapProcessorTest.java
index 9c3dd78553a..768b2a2dfb3 100644
--- a/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToSoapProcessorTest.java
+++ b/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToSoapProcessorTest.java
@@ -20,7 +20,9 @@
package org.apache.cxf.tools.misc.processor;
import java.io.File;
-import java.util.*;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
import javax.wsdl.Binding;
import javax.wsdl.BindingFault;