-Antタスクに搭載したSeasar

ハマリ中。

public class Main {
  public static void main(String[] args) {
    S2Container container = S2ContainerFactory.create("dev/dev.dicon");
    Hello hello = (Hello)container.getComponent(Hello.class);
    System.out.println(hello.say());
  }  
}
<?xml version="1.0" encoding="ISO-8859-1"?>
<project default="test" basedir=".">
  <target name="test">
    <java classname="dev.Main">
      <classpath>
        <pathelement path="context/WEB-INF/classes"/>
        <fileset dir="context/WEB-INF/lib"/>
      </classpath>
    </java>
  </target>
</project>

こんな感じで、AntタスクからMainを通じてSeasarを動かす感じです。で、エラー。

javax.xml.parsers.FactoryConfigurationError: Provider com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl could not be instantiated: java.lang.NullPointerException

なんで〜。SAXParserFactoryImplはrt.jarの中にあるのに。。。助けて〜。

public class Main2 {
  private static class Handler extends DefaultHandler {
    @Override
    public void startElement(String uri, String localName, 
        String qName, Attributes attributes) {
      if(qName.equals("component")) {
        System.out.println(attributes.getValue("class"));
      }
    }
  }
  public static void main(String[] args) throws Exception {
    SAXParserFactory factory = SAXParserFactory.newInstance();
    SAXParser parser = factory.newSAXParser();
    parser.parse(Main2.class.getResourceAsStream("dev.dicon"),
      new Handler());
  }
}

Seasarを外したこちらでも同じエラーがでる。。。まあ、文字どおりSAXParserFactoryImplが作れないみたいですね。なぜ?