【问题标题】:JRUBY - RAILS 3 - TOMCAT 7 Deploy failedJRUBY - RAILS 3 - TOMCAT 7 部署失败
【发布时间】:2012-03-01 05:03:52
【问题描述】:

我有我的 rails 3 应用程序。这在带有 webrick 的 netbeans 中工作正常。

我创建这个应用程序:

Jruby jruby 1.6.5.1 (ruby-1.8.7-p330) 导轨 3.1.3

我的捆绑包工作正常。

小米宝石文件:

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 文件,我已经安装了所需的所有 gem。 我已经安装了 wrable 并运行了

可写配置

然后

可写

这将创建 .war 文件。

我把这个文件放到webapps tomcat7目录下,启动服务器。

服务器启动正常,catalina.out 没有记录错误但是...

当我尝试访问 Tomcat 管理器说是我的应用程序时的地址时,我有更多时间来查看仅一个页面。应用程序名称是“cameraAccreditiGiornalisti”。所以,地址是 localhost:8080/cameraAccreditiGiornalisti => 白页!

我阅读了网络上的所有指南,但我没有说问题出在哪里!没有要查看的日志和白页……没有错误!

请帮忙!

【问题讨论】:

  • Tomcat 日志文件应该有更多信息。

标签: ruby ruby-on-rails-3 deployment jruby tomcat7


【解决方案1】:

我有同样的问题,我发现war文件不包含web.xml文件,这是Tomcat启动webapp所必需的。我没有找到任何信息为什么 warble 不会生成该文件,因为它应该生成。

【讨论】:

    【解决方案2】:

    我的问题解决了……我读到了错误的日志文件……也许对于您的问题,请检查 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 2013-10-18
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      相关资源
      最近更新 更多