2013-01-31 65 views
1

我有一个使用BIRT的桌面应用程序。在jar文件中,我在资源文件夹中有设计和库文件的目录。即使他们是在同一个文件夹,当我运行的应用程序,我得到这表明它无法找到rptlibrary文件例外:无法加载BIRT库

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

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">modelos_relatorio/pdv.rptlibrary</property> 
     <property name="namespace">pdv</property> 
    </structure> 
</list-property> 

它的工作原理,但我得到了一些错误,当尝试在Eclipse中预览,那么,有没有一种方法,我可以在代码中改变呢?

回答

3

你在设计器中设置资源文件夹是什么?这可以在窗口 - >首选项中进行配置。 enter image description here

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