2012-02-08 120 views
0

我有我的rails 3應用程序。這個工作在netbeans中很好用webrick。JRUBY - RAILS 3 - TOMCAT 7部署失敗

我創建這個應用程序:

的JRuby JRuby的1.6.5.1(紅寶石-1.8.7-P330) 的Rails 3.1.3

我的包做工精細。

米的Gemfile:

gem 'rails', '3.1.3' 
gem 'dynamic_form' 
gem 'activerecord-jdbcmysql-adapter' 
gem 'jruby-openssl' 
gem 'json' 
group :assets do 
    gem 'sass', '~> 3.1.12' 
    gem 'sass-rails', '~> 3.1.5' 
    gem 'coffee-rails', '~> 3.1.1' 
    gem 'uglifier', '>= 1.0.3' 
    end 
gem 'jquery-rails' 

從申請創建.war文件,我已經安裝了軟件包所需的所有寶石。 我已經安裝wrable和運行

wrable配置

然後

wrable

此創建.war文件。

我把這個文件放在webapps tomcat7目錄下並啓動服務器。

服務器開始罰款,catalina.out的日誌中沒有錯誤,但...

當我嘗試去在當Tomcat經理說的地址是我的申請,我有更多的時間用於attendo觀點只是一個枝條頁。應用程序名稱是「cameraAccreditiGiornalisti」。所以,地址是localhost:8080/cameraAccreditiGiornalisti =>白頁!

我閱讀了網絡上的所有指南,但我不說哪裏是問題!沒有日誌看和白頁...沒有錯誤!

請幫忙!

+0

Tomcat日誌文件應該有更多的信息。 – madth3 2012-03-03 18:35:15

回答

0

我有同樣的問題,我發現war文件不包括web.xml文件,這是Tomcat啓動webapp所必需的。我沒有發現任何信息,爲什麼warble不生成該文件,因爲它應該。

0

我的問題解決了......我讀了一個錯誤的日誌文件....可能是因爲你的問題檢查了projectdirectory/config中的warble.rb文件。這是我的工作:

# Disable Rake-environment-task framework detection by uncommenting/setting to false 
# Warbler.framework_detection = false 

# Warbler web application assembly configuration file 
Warbler::Config.new do |config| 
    # Features: additional options controlling how the jar is built. 
    # Currently the following features are supported: 
    # - gemjar: package the gem repository in a jar file in WEB-INF/lib 
    # - executable: embed a web server and make the war executable 
    # - compiled: compile .rb files to .class files 
    # config.features = %w(gemjar) 

    # Application directories to be included in the webapp. 
    config.dirs = %w(app config lib log vendor tmp) 


    # Additional files/directories to include, above those in config.dirs 
    # config.includes = FileList["db"] 

    # Additional files/directories to exclude 
    # config.excludes = FileList["lib/tasks/*"] 

    # Additional Java .jar files to include. Note that if .jar files are placed 
    # in lib (and not otherwise excluded) then they need not be mentioned here. 
    # JRuby and JRuby-Rack are pre-loaded in this list. Be sure to include your 
    # own versions if you directly set the value 
    # config.java_libs += FileList["lib/java/*.jar"] 

    # Loose Java classes and miscellaneous files to be included. 
    # config.java_classes = FileList["target/classes/**.*"] 
    #config.java_classes = FileList["log4j.properties"] 

    # One or more pathmaps defining how the java classes should be copied into 
    # the archive. The example pathmap below accompanies the java_classes 
    # configuration above. See http://rake.rubyforge.org/classes/String.html#M000017 
    # for details of how to specify a pathmap. 
    # config.pathmaps.java_classes << "%{target/classes/,}p" 

    # Bundler support is built-in. If Warbler finds a Gemfile in the 
    # project directory, it will be used to collect the gems to bundle 
    # in your application. If you wish to explicitly disable this 
    # functionality, uncomment here. 
    # config.bundler = false 

    # An array of Bundler groups to avoid including in the war file. 
    # Defaults to ["development", "test"]. 
    # config.bundle_without = [] 

    # Other gems to be included. If you don't use Bundler or a gemspec 
    # file, you need to tell Warbler which gems your application needs 
    # so that they can be packaged in the archive. 
    # For Rails applications, the Rails gems are included by default 
    # unless the vendor/rails directory is present. 
    # config.gems += ["activerecord-jdbcmysql-adapter", "jruby-openssl"] 
    # config.gems << "tzinfo" 
    config.gems += ["activerecord-jdbcmysql-adapter", "jruby-openssl"] 



    # Uncomment this if you don't want to package rails gem. 
    # config.gems -= ["rails"] 

    # The most recent versions of gems are used. 
    # You can specify versions of gems by using a hash assignment: 
    # 
    config.gems["rails"] = "3.2.1" 
    # You can also use regexps or Gem::Dependency objects for flexibility or 
    # finer-grained control. 
    # config.gems << /^merb-/ 
    # config.gems << Gem::Dependency.new("merb-core", "= 0.9.3") 

    # Include gem dependencies not mentioned specifically. Default is 
    # true, uncomment to turn off. 
    # config.gem_dependencies = false 

    # Array of regular expressions matching relative paths in gems to be 
    # excluded from the war. Defaults to empty, but you can set it like 
    # below, which excludes test files. 
    # config.gem_excludes = [/^(test|spec)\//] 

    # Pathmaps for controlling how application files are copied into the archive 
    # config.pathmaps.application = ["WEB-INF/%p"] 

    # Name of the archive (without the extension). Defaults to the basename 
    # of the project directory. 
    # config.jar_name = "mywar" 

    # Name of the MANIFEST.MF template for the war file. Defaults to a simple 
    # MANIFEST.MF that contains the version of Warbler used to create the war file. 
    # config.manifest_file = "config/MANIFEST.MF" 

    # When using the 'compiled' feature and specified, only these Ruby 
    # files will be compiled. Default is to compile all \.rb files in 
    # the application. 
    # config.compiled_ruby_files = FileList['app/**/*.rb'] 

    # === War files only below here === 

    # Path to the pre-bundled gem directory inside the war file. Default 
    # is 'WEB-INF/gems'. Specify path if gems are already bundled 
    # before running Warbler. This also sets 'gem.path' inside web.xml. 
    # config.gem_path = "WEB-INF/vendor/bundler_gems" 

    # Files for WEB-INF directory (next to web.xml). This contains 
    # web.xml by default. If there is an .erb-File it will be processed 
    # with webxml-config. You may want to exclude this file via 
    # config.excludes. 
    # config.webinf_files += FileList["jboss-web.xml"] 

    # Files to be included in the root of the webapp. Note that files in public 
    # will have the leading 'public/' part of the path stripped during staging. 
    # config.public_html = FileList["public/**/*", "doc/**/*"] 

    # Pathmaps for controlling how public HTML files are copied into the .war 
    # config.pathmaps.public_html = ["%{public/,}p"] 

    # Value of RAILS_ENV for the webapp -- default as shown below 
    config.webxml.rails.env = ENV['RAILS_ENV'] || 'production' 

    # Application booter to use, one of :rack, :rails, or :merb (autodetected by default) 
    # config.webxml.booter = :rails 

    # Set JRuby to run in 1.9 mode. 
    # config.webxml.jruby.compat.version = "1.9" 

    # When using the :rack booter, "Rackup" script to use. 
    # - For 'rackup.path', the value points to the location of the rackup 
    # script in the web archive file. You need to make sure this file 
    # gets included in the war, possibly by adding it to config.includes 
    # or config.webinf_files above. 
    # - For 'rackup', the rackup script you provide as an inline string 
    # is simply embedded in web.xml. 
    # The script is evaluated in a Rack::Builder to load the application. 
    # Examples: 
    # config.webxml.rackup.path = 'WEB-INF/hello.ru' 
    # config.webxml.rackup = %{require './lib/demo'; run Rack::Adapter::Camping.new(Demo)} 
    # config.webxml.rackup = require 'cgi' && CGI::escapeHTML(File.read("config.ru")) 

    # Control the pool of Rails runtimes. Leaving unspecified means 
    # the pool will grow as needed to service requests. It is recommended 
    # that you fix these values when running a production server! 
    # config.webxml.jruby.min.runtimes = 2 
    # config.webxml.jruby.max.runtimes = 4 
    config.webxml.jruby.min.runtimes = 2 
    config.webxml.jruby.max.runtimes = 4 

    # JNDI data source name 
    # config.webxml.jndi = 'jdbc/rails' 
end