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