0

オブジェクトを xml 文字列に変換し、そこから pdf を作成するユーティリティ クラスがあります。

クラスは正常に機能していましたが、最近、Tomcat で継続的デプロイを使用し始めました (つまり、app.war が app##00010.war としてデプロイされ、新しいバージョンのアプリが 1 日に 2 回アップロードされます)。 DocumentBuilder に関する大きな問題。

私のユーティリティ クラスは、クラス パス (DTD、fop conf、xsl styesheet など) から複数のファイルをロードする必要があります。フル パス [path start]/Tomcat 7.0/webapps/ app##0010 /[path to file] を使用してファイルをロードしましたが、FileNotFoundException [path start]\Tomcat 7.0\webapps\ app (システムが見つからない指定されたファイル)。

したがって、DocumentBuilder は、私が彼に与えているフル パスを無視しているようです。

xml 文字列を xml ファイルに変換するために使用する方法は次のとおりです。

    public static Document stringToXml(String xmlSource) throws SAXException,ParserConfigurationException,
        MalformedURLException,IOException{
    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(true);
    DocumentBuilder builder=factory.newDocumentBuilder();

    return builder.parse(new InputSource(new StringReader(xmlSource)));
}

そしてxmlSourceは次のようなものです"<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE doc SYSTEM "file:///[path start]/Tomcat 7.0/webapps/app##0010/ [...] /pdf.dtd">"

この問題を解決する方法はありますか?

4

1 に答える 1