Converter APT (Almost Plain Text) para HTML

Programadores desse mundão a fora !

Négócio é o seguinte, preciso gerar um arquivo em formato APT (Almost Plain Text), formato utilizado pelo maven para gerar sites, e depois preciso converter para HTML através do Doxia do Maven e com o container Plexus, bom to a mais de uma semana tentando fazer isso, cheguei em um código mais ele não acha a ROLE na hora de fazer o lookup.

Segue o código:

import java.io.File;
import java.io.IOException;
import java.io.Reader;

import org.apache.maven.doxia.module.apt.AptParser;
import org.apache.maven.doxia.parser.ParseException;
import org.apache.maven.doxia.parser.Parser;
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.doxia.sink.SinkFactory;
import org.codehaus.plexus.DefaultPlexusContainer;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.util.ReaderFactory;

public class Teste {

	public static void main(String[] args) throws ComponentLookupException, IOException, ParseException{
	
		PlexusContainer container= new DefaultPlexusContainer();
		
		File userDir = new File( System.getProperty ( "user.dir" ) );
		File inputFile = new File( userDir, "teste.apt" );
		File outputFile = new File( userDir, "teste.html" );
		
		SinkFactory sinkFactory  = (SinkFactory) container.lookup( SinkFactory.ROLE, "html");
		Sink sink = sinkFactory.createSink( outputFile.getParentFile(), outputFile.getName() );
		Parser parser = (AptParser) container.lookup( Parser.ROLE, "apt" );
		Reader reader = ReaderFactory.newReader( inputFile, "UTF-8" );
		parser.parse( reader, sink );
	}
}

Segue o erro:

Exception in thread "main" java.lang.NullPointerException
	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:299)
	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:440)
	at com.porto.infra.plugin.ficha.Teste.main(Teste.java:27)

Existe alguma alma boa que pode me ajudar?
VALEU ! ! !

Pessoal,

fiz algumas alterações e acho que consegui alguma evolução, ou não :D, segue o código novo:

package com.porto.infra.plugin.ficha;

import java.io.File;
import java.io.IOException;
import java.io.Reader;

import org.apache.maven.doxia.module.apt.AptParser;
import org.apache.maven.doxia.parser.ParseException;
import org.apache.maven.doxia.parser.Parser;
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.doxia.sink.SinkFactory;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.PlexusContainerException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.embed.Embedder;
import org.codehaus.plexus.util.ReaderFactory;

public class Teste {

	public static void main(String[] args) throws ComponentLookupException, IOException, ParseException, PlexusContainerException{
	
		Embedder embedder = new Embedder();
        embedder.start();
        PlexusContainer container = embedder.getContainer();

        File userDir = new File( System.getProperty ( "user.dir" ) );
		File inputFile = new File( userDir, "teste.apt" );
		File outputFile = new File( userDir, "teste.html" );
		
		SinkFactory sinkFactory  = (SinkFactory) container.lookup( SinkFactory.ROLE, "html");
		Sink sink = sinkFactory.createSink( outputFile.getParentFile(), outputFile.getName() );
		Parser parser = (AptParser) container.lookup( Parser.ROLE, "apt" );
		Reader reader = ReaderFactory.newReader( inputFile, "UTF-8" );
		parser.parse( reader, sink );
	}
}

segue o erro novo:

Exception in thread "main" org.codehaus.plexus.component.repository.exception.ComponentLookupException: Component descriptor cannot be found in the component repository: org.apache.maven.doxia.sink.SinkFactoryhtml.
	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:323)
	at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:440)
	at com.porto.infra.plugin.ficha.Teste.main(Teste.java:30)

Alguem? :frowning: