Как читать файл в Jar с JRuby

Я работаю над оболочкой Java для библиотеки, созданной в JRuby, и мне не удается прочитать файл, который находится в JAR.

Я уже открыл JAR, и файл находится там, в корневой папке JAR.

Однако, когда я пытаюсь запустить:

File.read("myfile.txt")

Выдает следующую ошибку:

C:\temp>java -jar c:\libraries\XmlCompare.jar
file:/C:/libraries/XmlCompare.jar!/lib/xmlcompare/app.rb:19:in `initialize': 
No such file or directory - myfile.txt (Errno::ENOENT)

У меня даже попытался сделать путь абсолютным (учитывая, что текстовый файл находится в корне, а исполняемый источник ruby ​​находится внутри lib / xmlcompare), выполняя:

File.read("#{File.dirname(__FILE__)}/../../myfile.txt")

Но потом я получаю:

C:\temp>java -jar c:\libraries\XmlCompare.jar
file:/C:/libraries/XmlCompare.jar!/lib/xmlcompare/app.rb:19:in `initialize': 
No such file or directory -
file:/C:/libraries/XmlCompare.jar!/lib/xmlcompare/../../myfile.txt 
(Errno::ENOENT)

Есть идеи, как я могу заставить эту работу работать?

6
задан kolrie 31 March 2011 в 02:51
поделиться