diff --git a/src/main/java/org/apache/maven/plugins/scripting/ResourceScriptEvaluator.java b/src/main/java/org/apache/maven/plugins/scripting/ResourceScriptEvaluator.java index 8db4eb6..5efb062 100644 --- a/src/main/java/org/apache/maven/plugins/scripting/ResourceScriptEvaluator.java +++ b/src/main/java/org/apache/maven/plugins/scripting/ResourceScriptEvaluator.java @@ -48,7 +48,7 @@ public class ResourceScriptEvaluator extends AbstractScriptEvaluator { private final String engineName; /** - * @param engineName optional engine name, used to override the engine selection from the file extension + * @param engineName optional engine name, used to override the engine selection from the file extension * @param resourceName not null */ public ResourceScriptEvaluator(String engineName, String resourceName) { @@ -58,7 +58,7 @@ public ResourceScriptEvaluator(String engineName, String resourceName) { } /** - * @param engine the script engine + * @param engine the script engine * @param context the script context * @return the result of the scriptFile * @throws ScriptException if an error occurs in script @@ -66,9 +66,15 @@ public ResourceScriptEvaluator(String engineName, String resourceName) { */ protected Object eval(ScriptEngine engine, ScriptContext context) throws ScriptException { - try (InputStream is = this.getClass().getClassLoader().getResourceAsStream(resourceName); - Reader reader = new InputStreamReader(is)) { - return engine.eval(reader, context); + try (InputStream is = this.getClass().getClassLoader().getResourceAsStream(resourceName)) { + + if (is == null) { + throw new ScriptException("Resource not found: " + resourceName); + } + + try (Reader reader = new InputStreamReader(is)) { + return engine.eval(reader, context); + } } catch (IOException ex) { throw new UncheckedIOException(resourceName + " caused:", ex); }