我从Linux操作系统运行BIRT时遇到异常。
引起:org.eclipse.datatools.connectivity.oda.OdaException:no protocol:/home/lsingh/reporting/tmp/execution1279514184559/TDReport.xml
其中“/home/lsingh/reporting/tmp/execution1279514184559/TDReport.xml”是我的XML数据文件。
当我查看BIRT中“org.eclipse.birt.report.data.oda.xml.util.XMLDataInputStreamCreator”类的代码时,我看到该异常来自下面的一段代码。
catch (MalformedURLException e)
{
throw new OdaException(e.getLocalizedMessage());
}
这意味着代码正在尝试将上面指定的文件路径转换为URL,但它失败了。
所以我的问题是如何将非Windows路径转换为URL? 它应该以file:///?
作为前缀答案 0 :(得分:5)
Windows与否,本地文件的所有URL都以file://
开头。这是协议前缀。
所以你的文件是:
file://
+ /home/lsingh/reporting/tmp/execution1279514184559/TDReport.xml
= file:///home/lsingh/reporting/tmp/execution1279514184559/TDReport.xml
答案 1 :(得分:0)
您可以尝试使用文件网址:
file:///home/lsingh/reporting/tmp/execution1279514184559/TDReport.xml
如果您可以发布代码而不是调用BIRT,则可以更轻松地分析问题。