From ac18752d44bbbfad62347c41090e674d6a73cf79 Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Sat, 4 Jul 2026 12:52:54 +0000 Subject: [PATCH] fix: prevent NPE in ManifestConfiguration.getClasspathPrefix() when prefix is null The setter now treats null as the empty string, consistent with the field's default value. This prevents a NullPointerException in getClasspathPrefix() when callers pass null (e.g., from unset XML configuration elements). Fixes #367 --- .../apache/maven/shared/archiver/ManifestConfiguration.java | 2 +- .../maven/shared/archiver/ManifestConfigurationTest.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/maven/shared/archiver/ManifestConfiguration.java b/src/main/java/org/apache/maven/shared/archiver/ManifestConfiguration.java index 8e2c056..6198b1c 100644 --- a/src/main/java/org/apache/maven/shared/archiver/ManifestConfiguration.java +++ b/src/main/java/org/apache/maven/shared/archiver/ManifestConfiguration.java @@ -218,7 +218,7 @@ public void setAddExtensions(boolean addExtensions) { * @param classpathPrefix the prefix */ public void setClasspathPrefix(String classpathPrefix) { - this.classpathPrefix = classpathPrefix; + this.classpathPrefix = classpathPrefix != null ? classpathPrefix : ""; } /** diff --git a/src/test/java/org/apache/maven/shared/archiver/ManifestConfigurationTest.java b/src/test/java/org/apache/maven/shared/archiver/ManifestConfigurationTest.java index a0d74e0..e36c71c 100644 --- a/src/test/java/org/apache/maven/shared/archiver/ManifestConfigurationTest.java +++ b/src/test/java/org/apache/maven/shared/archiver/ManifestConfigurationTest.java @@ -55,4 +55,10 @@ void getClasspathPrefixShouldReturnTheTrailingSlash() { manifestConfiguration.setClasspathPrefix("const/"); assertThat(manifestConfiguration.getClasspathPrefix()).isEqualTo("const/"); } + + @Test + void getClasspathPrefixShouldHandleNull() { + manifestConfiguration.setClasspathPrefix(null); + assertThat(manifestConfiguration.getClasspathPrefix()).isEmpty(); + } }