Warble Jruby не может загрузиться с Tomcat 8.5 - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь упаковать свое приложение Rails в файл war, используя Warbler, но есть некоторые странные проблемы, которые я не могу найти решения для

Проблема 1:

Когда я пытаюсь использовать jruby вместо ruby, ни один из файлов окружения или файлов в папке инициализаторов не загружается при запуске rails server.Я получаю сообщение об ошибке, говоря, что

NoMethodError: Cannot load `Rails.application.database_configuration`:
undefined method `dbDetails' for #<Rails::Application::Configuration:0x5c2a3f0c>

не определен метод, который определен в файле production.rb и расширен в файле инициализатора, который используется в файле ulimately database.yml (я пробовал вручную вводить учетные данные в database.yml, похоже, последовательность загрузки изменилась, после использования jruby файл database.yaml загружается перед файлами инициализаторов, но файл окружений никогда не загружается, будь то файл development.rb или файл production.rb, если я начну с предоставления соответствующего env в качестве атрибута rails s команда).С файлами

нет проблем, связанных с правами доступа или владельцем, проблема 2:

независимо от того, что я делаю, файл war, созданный после использования warble war, никогда не запускается в Tomcat 8.5 (не пробовал в любой другой версии).Если я проверяю логи catlinia, он говорит:

`[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [D:\tomcat\apache-tomcat-8.5.38\webapps\railsapp.war]
06-Mar-2019 21:42:29.089 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/railsapp]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:985)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: The archive [jar:file:/D:/tomcat/apache-tomcat-8.5.38/webapps/railsapp.war!/] is malformed and will be ignored: an entry contains an illegal path [WEB-INF/../] which was not expanded to [D:\tomcat\apache-tomcat-8.5.38\webapps\railsapp] since that is outside of the defined docBase [D:\tomcat\apache-tomcat-8.5.38\webapps\railsapp\]
        at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:141)
        at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:609)
        at org.apache.catalina.startup.ContextConfig.beforeStart(ContextConfig.java:742)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:301)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:395)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:149)
        ... 10 more`

**

Проблема 3:

** С другой стороны, исполняемый файл, созданный warble executable war отлично работает с командой java -jar railsapp.war, но я не могу запустить ее в безопасном режиме с протоколом https

Любая помощь, связанная с этими проблемами, будет очень признательна.Пожалуйста, дайте мне знать, если я не смогу дать вам понять мою проблему, я слишком устал в данный момент и буду счастлив, если кто-нибудь укажет на любые ошибки, которые я мог совершить

jruby version jruby 9.1.17.0 (2.3.3)
rails version  Rails 5.1.6.1
Tomcat version apache-tomcat-8.5.38
...