2

我有一个使用 BIRT 的桌面应用程序。在 jar 文件中,我在资源文件夹中有一个目录,其中包含设计和库文件。即使它们在同一个文件夹中,当我运行应用程序时,我也会收到一个异常,表明它找不到 rptlibrary 文件:

Jan 31, 2013 11:29:33 AM org.eclipse.birt.report.model.core.LayoutModule loadLibrarySilently
WARNING: Syntax error found, and see error details.
Error.DesignFileException.SYNTAX_ERROR - 1 errors found! 
1.)  org.eclipse.birt.report.model.parser.DesignParserException (code = Error.DesignParserException.FILE_NOT_FOUND, message : The file "pdv.rptlibrary" is not found.)

如果我从以下位置更改 rptlibrary 中的库标记:

<list-property name="libraries">
    <structure>
        <property name="fileName">pdv.rptlibrary</property>
        <property name="namespace">pdv</property>
    </structure>
</list-property>

至:

<list-property name="libraries">
    <structure>
        <property name="fileName">modelos_relatorio/pdv.rptlibrary</property>
        <property name="namespace">pdv</property>
    </structure>
</list-property>

它可以工作,但是在尝试在 Eclipse 中预览时出现了一些错误,那么,有没有办法可以在代码中更改它?

4

1 回答 1

3

您在设计器中将资源文件夹设置为什么?这可以在 window->preferences 中配置。 在此处输入图像描述

您可以为整个工作区或仅为特定项目配置它。如果您在应用程序中使用 API,您应该能够在 EngineConfig 中设置资源路径或设置 IResourceLocator 接口的特定实例,这实际上只需要实现两个称为 findResource 的方法。您可以查看源代码中的 org.eclipse.birt.report.model.util.ResourceLocatorImplBase 类作为示例。

于 2013-02-21T16:11:02.717 回答