Using a Veloctity template in a custom Maven report

J

Jacqui

Hi,

I am trying to write a report plugin for Maven which will run during
the 'site' stage in the lifecycle. The plugin needs to be able to use
a Velocity template to create a HTML file.

I have created a Mojo which extends AbstractMavenReport and within
that I have

/**
* @component
*/
private VelocityComponent velocityComponent;

so that I can get hold of the Plexus velocity component. I am
currently passing this into a method and using this as:

public void createReport(VelocityComponent velocityComponent) throws
Exception {

VelocityContext context = new VelocityContext();
// put stuff into the context.

Template template = null;
try {
Properties props = new Properties();
props.setProperty("resource.loader",
"classpath"); //makes no difference if set or
not

props.setProperty("classpath.resource.loader.class",
"org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); //
makes no difference if set or not
velocityComponent.getEngine().init(props);
template =
velocityComponent.getEngine().getTemplate("report.vm");
}
catch (ResourceNotFoundException rnfe) {
System.out.println("Example : error : cannot find template
report.vm");
}
catch (ParseErrorException pee) {
System.out.println("Example : Syntax error in template
report.vm: " + pee);
}
BufferedWriter writer = writer = new BufferedWriter(
new OutputStreamWriter(System.out)); //testing by
writing to the screen
if (template != null) {
template.merge(context, writer);
}
writer.flush();
writer.close();
}

I am getting a ResourceNotFoundException when running this. Where do
I need to put the vm file so that it is picked up or how should I be
using the velocitycomponent?

btw. I am using Maven 2.2.1.

Thanks,
Jacqui
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,740
Latest member
JudsonFrie

Latest Threads

Top