2011-12-09 16 views
2

WARで次の問題に取り組んでいます。私はWarblerを使ってTomcatに展開しています。私が 'rake war'を実行すると、warファイルを正しく生成して展開します。しかし、Tomcatにデプロイおよびアプリケーションベースに移動すると、私は次のメッセージが出ます:Jruby WarblerがTomcat for Sinatraで戦争を起こしました - 表示ファイルが見つかりません

にerrnoを:: micro_reg_90day /そのようなファイルやディレクトリをログインしない/でENOENT - JNDI:/ localhostの/ micro_reg_90day/WEB- INF/views/login.erbファイル: RubyFile.java場所:初期化行:464

ブラウザ内にあります。奇妙なことは、私は、ファイルシステム内で拡張Webアプリケーションに行くときということです - 私は、Webアプリケーション/ WEB-INF /ビューディレクトリ内にこれを見ています:

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 

Sinatraアプリ内で。以下は、私のconfig/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が付けられていることである: - これはウグイスが思うであることを示します戦争の中で.erbファイルを何らかの名前付きリソースとしてパッケージ化するには?

ありがとうございました!

答えて

1

これは、私がsinatraアプリケーション内で使用していたconfig.ruファイルに関連していることが判明しました。次のconfig.ruファイルは正常に動作しました。

require 'rubygems' 

load File.join(File.dirname(__FILE__), 'app.rb') 

set :run, false 
set :public_folder, './public' 
set :views, './views' 

run App 

以前はset:variable宣言がありませんでした。

関連する問題