diff --git a/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java b/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java index 92b8e190fc..775ea31b48 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.Objects; +import org.apache.commons.lang3.StringUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; @@ -180,6 +181,10 @@ protected List getProcessedArtifactItems(ProcessArtifactItemsReque } catch (ArtifactFilterException e) { throw new MojoExecutionException(e.getMessage(), e); } + + if (artifactItem.getType() == null) { + throw new NullPointerException("Missing type for " + artifactItem.getArtifactId()); + } } return artifactItems; } @@ -215,7 +220,12 @@ protected Artifact getArtifact(ArtifactItem artifactItem) throws MojoExecutionEx coordinate.setVersion(artifactItem.getVersion()); coordinate.setClassifier(artifactItem.getClassifier()); + String type = artifactItem.getType(); + if (type == null) { + throw new NullPointerException("missing type"); + } final String extension; + ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler(artifactItem.getType()); if (artifactHandler != null) { extension = artifactHandler.getExtension(); @@ -367,7 +377,7 @@ public void setArtifact(String artifact) throws MojoFailureException { if (artifact != null) { String packaging = "jar"; String classifier; - String[] tokens = artifact.split(":"); + String[] tokens = StringUtils.split(artifact, ":"); if (tokens.length < 3 || tokens.length > 5) { throw new MojoFailureException("Invalid artifact, " + "you must specify groupId:artifactId:version[:packaging[:classifier]] " + artifact);