什么是非Windows系统中绝对路径的URL等价物?

时间:2010-07-19 07:08:41

标签: java xml url birt

我从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:///?

作为前缀

2 个答案:

答案 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,则可以更轻松地分析问题。