Что такое URL-эквивалент абсолютного пути в системе, отличной от Windows? - PullRequest
1 голос
/ 19 июля 2010

Я получаю следующее исключение при запуске BIRT из ОС Linux.

Причина: org.eclipse.datatools.connectivity.oda.OdaException: нет протокола: / home / lsingh / reports / tmp / execute1279514184559/TDReport.xml

, где "/home/lsingh/reporting/tmp/execution1279514184559/TDReport.xml" - это мой файл данных XML.

Когда я посмотрел код "org.eclipse".birt.report.data.oda.xml.util.XMLDataInputStreamCreator "класс в BIRT, я увидел, что исключение исходит от следующего фрагмента кода.

catch (MalformedURLException e)
{
  throw new OdaException(e.getLocalizedMessage());
}

Это означает, что код пытается преобразоватьпуть к файлу, указанный выше в URL-адресе, и он терпит неудачу.

Итак, мой вопрос заключается в том, как путь не из окон преобразуется в URL-адрес?должен быть префикс файла: ///?

Ответы [ 2 ]

5 голосов
/ 19 июля 2010

Windows или нет, все URL-адреса локальных файлов начинаются с file://.Это префикс протокола.

Таким образом, ваш файл будет выглядеть так:

0 голосов
/ 19 июля 2010

Вы можете попробовать использовать URL-адрес файла:

file:///home/lsingh/reporting/tmp/execution1279514184559/TDReport.xml

Если вы можете опубликовать код, чем вызывает BIRT, анализ проблемы будет проще.

...