Я столкнулся со следующей проблемой с WAR, которую я генерирую, используя Warbler для развертывания в Tomcat. Когда я запускаю 'rake war', он правильно генерирует файл войны для развертывания; однако после развертывания в Tomcat и перехода к базе приложений я получаю следующее сообщение:
Errno :: ENOENT at / micro_reg_90day / login Нет такого файла или каталога -
jndi: /localhost/micro_reg_90day/WEB-INF/views/login.erb file:
Местоположение RubyFile.java: строка инициализации: 464
В браузере. Странно то, что когда я захожу в расширенное веб-приложение в файловой системе - я вижу это в каталоге webapp / WEB-INF / views:
MacBook-Pro:views ejlevin1$ ls -l
-rw-r--r-- 1 ejlevin1 wheel 740 Dec 9 16:20 login.erb
-rw-r--r-- 1 ejlevin1 wheel 1309 Dec 9 16:20 next_steps.erb
-rw-r--r-- 1 ejlevin1 wheel 8957 Dec 9 16:20 ninety_day.erb
-rw-r--r-- 1 ejlevin1 wheel 10237 Dec 9 16:20 try_it_tuesdays.erb
Как видите, файл login.erb упакован в войну; однако JRuby не находит его при попытке вызвать
render :erb, :login
В приложении Синатра. Вот мой конфиг / warbler.rb:
Warbler::Config.new do |config|
config.dirs += ['views']
config.includes = FileList["app.rb","init.rb"]
config.gem_dependencies = true
config.webxml.rack.env = ENV['RACK_ENV'].nil? || ENV['RACK_ENV'] =='' ? 'development' : ENV['RACK_ENV']
config.webxml.jruby.compat.version = "1.9"
end
Единственное, что я замечаю, это то, что путь, который Tomcat говорит мне, не найден, начинается с префикса jndi: - Это означает, что warbler предполагает упаковку файлов .erb как некий именованный ресурс внутри война?
Спасибо за помощь!