Я работаю над оболочкой 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)
Есть идеи о том, как я могу сделать эту работу?