diff --git a/maven-config-processor-plugin/src/main/java/com/google/code/configprocessor/ant/ConfigProcessorTask.java b/maven-config-processor-plugin/src/main/java/com/google/code/configprocessor/ant/ConfigProcessorTask.java index 12ad670..02aa24b 100644 --- a/maven-config-processor-plugin/src/main/java/com/google/code/configprocessor/ant/ConfigProcessorTask.java +++ b/maven-config-processor-plugin/src/main/java/com/google/code/configprocessor/ant/ConfigProcessorTask.java @@ -68,7 +68,10 @@ public void execute() { for (NamespaceContext nsContext : namespaceContexts) { namespaceContextsMap.put(nsContext.getPrefix(), nsContext.getUrl()); } - ConfigProcessor processor = new ConfigProcessor(encoding, indentSize, lineWidth, namespaceContextsMap, getProject().getBaseDir(), outputDirectory, useOutputDirectory, log, new DefaultFileResolver(), parserFeatures, failOnMissingXpath); + DefaultFileResolver fileResolver = new DefaultFileResolver(); + File projectBaseDir = getProject().getBaseDir(); + fileResolver.setBasedir(projectBaseDir.getAbsolutePath()); + ConfigProcessor processor = new ConfigProcessor(encoding, indentSize, lineWidth, namespaceContextsMap, projectBaseDir, outputDirectory, useOutputDirectory, log, fileResolver, parserFeatures, failOnMissingXpath); processor.init(); Properties additionalProperties = loadIfPossible(specificProperties, log); diff --git a/maven-config-processor-plugin/src/main/java/com/google/code/configprocessor/io/DefaultFileResolver.java b/maven-config-processor-plugin/src/main/java/com/google/code/configprocessor/io/DefaultFileResolver.java index c264255..3e1f82c 100644 --- a/maven-config-processor-plugin/src/main/java/com/google/code/configprocessor/io/DefaultFileResolver.java +++ b/maven-config-processor-plugin/src/main/java/com/google/code/configprocessor/io/DefaultFileResolver.java @@ -19,12 +19,23 @@ public class DefaultFileResolver implements FileResolver { + private String basedir; + public File resolve(String name) throws IOException { File file = new File(name); if (!file.exists()) { - throw new FileNotFoundException("File [" + name + "] does not exist"); + file = new File(basedir, name); + if (!file.exists()) { + throw new FileNotFoundException("File [" + name + + "] does not exist. " + "looked in: " + new File(name) + + "\n" + file); + } } return file; } + + public void setBasedir(String basedir) { + this.basedir = basedir; + } }