You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by el...@apache.org on 2026/07/16 14:49:12 UTC
(maven-ear-plugin) 01/01: fix: trim whitespace-only classifier to prevent spaces in EAR filename (#521)
This is an automated email from the ASF dual-hosted git repository.
elharo pushed a commit to branch fix-whitespace-classifier
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git
commit 7c314268b88c69503163bac5a0534698d3a706cc
Author: Elliotte Rusty Harold <el...@ibiblio.org>
AuthorDate: Thu Jul 16 14:48:54 2026 +0000
fix: trim whitespace-only classifier to prevent spaces in EAR filename (#521)
---
.../java/org/apache/maven/plugins/ear/EarMojo.java | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/ear/EarMojo.java b/src/main/java/org/apache/maven/plugins/ear/EarMojo.java
index 576a009..40b169a 100644
--- a/src/main/java/org/apache/maven/plugins/ear/EarMojo.java
+++ b/src/main/java/org/apache/maven/plugins/ear/EarMojo.java
@@ -560,9 +560,12 @@ public class EarMojo extends AbstractEarMojo {
* @return the EAR file to generate
*/
private static File getEarFile(String basedir, String finalName, String classifier) {
- if (classifier == null) {
+ if (classifier != null) {
+ classifier = classifier.trim();
+ }
+ if (classifier == null || classifier.isEmpty()) {
classifier = "";
- } else if (classifier.trim().length() > 0 && !classifier.startsWith("-")) {
+ } else if (!classifier.startsWith("-")) {
classifier = "-" + classifier;
}
@@ -884,14 +887,21 @@ public class EarMojo extends AbstractEarMojo {
}
private void removeFromOutdatedResources(Path destination, Collection<String> outdatedResources) {
- Path relativeDestFile;
+ String relativeDestFile;
try {
- relativeDestFile = getWorkDirectory().toPath().relativize(destination.normalize());
+ relativeDestFile = getWorkDirectory()
+ .toPath()
+ .relativize(destination.normalize())
+ .toString();
} catch (ProviderMismatchException e) {
- relativeDestFile = destination.normalize();
+ // destination is from a different filesystem provider (e.g. zip filesystem),
+ // relativize is not possible; strip the root to get a relative path
+ Path normalized = destination.normalize();
+ Path root = normalized.getRoot();
+ relativeDestFile = (root != null) ? root.relativize(normalized).toString() : normalized.toString();
}
- if (outdatedResources.remove(relativeDestFile.toString())) {
+ if (outdatedResources.remove(relativeDestFile)) {
getLog().debug("Remove from outdatedResources: " + relativeDestFile);
}
}