Java 使用FOP2.3版本时未找到FOP映像

Java 使用FOP2.3版本时未找到FOP映像,java,xsl-fo,apache-fop,Java,Xsl Fo,Apache Fop,我已经将FOP版本从FOP1.1升级到了FOP2.3版本,但是越来越多 找不到org.apache.fop.events.LoggingEventListener进程事件映像 下面是为升级而修改的代码段。 使用FOP2.3的主视图代码 代码: FOP2.3的视图代码 protected static final FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI(), resolver); XSLT代码 <

我已经将FOP版本从FOP1.1升级到了FOP2.3版本,但是越来越多

找不到org.apache.fop.events.LoggingEventListener进程事件映像

下面是为升级而修改的代码段。 使用FOP2.3的主视图代码

代码:

FOP2.3的视图代码

protected static final FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI(), resolver);
XSLT代码

<fo:external-graphic src = "stylesheets/Anthem_Join_In.bmp"/>

冲突解决程序的API已更改,文档记录不完整。这段代码适用于JSF Web应用程序中的我(FOP2.3)

final ServletContext sc = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();

// Create ServletContext resource Resolver
ResourceResolver resolver = new ResourceResolver() {
    @Override
    public Resource getResource(URI uri) throws IOException {
        return new Resource(sc.getResourceAsStream(uri.toASCIIString()));
    }

    @Override
    public OutputStream getOutputStream(URI uri) throws IOException {
        URL url = sc.getResource(uri.toASCIIString());
        return url.openConnection().getOutputStream();
    }
};

// Buid the factory
FopFactoryBuilder builder = new FopFactoryBuilder(new URI(sc.getContextPath()), resolver);
FopFactory FOP_FACTORY = builder.build();
我的项目中以前的代码的其余部分保持不变。我没有使用transformer.setURIResolver(…)

xml fop代码如下所示:

<fo:external-graphic width="auto" content-width="164pt" height="auto" src="url(/resources/img/main-logo.png)"/>

<fo:external-graphic width="auto" content-width="164pt" height="auto" src="url(/resources/img/main-logo.png)"/>