0

こんにちは、grails アプリケーションを新しくインストールした jetty インスタンスにデプロイしようとしています。でjettyをインストールしましたubuntu 12.04apt-get install jetty、ポート8080で完全に正常に動作しています。

次に、小さな grails アプリケーションを war-file にコンパイルし、それを標準jetty_home/webappsフォルダーに移動して、jetty を再起動することでデプロイしようとしました。ここで問題が始まります。ブラウザーでコンテキストパスに移動するたびに、次のようになります。

HTTP ERROR: 503

Problem accessing /hello. Reason:

    SERVICE_UNAVAILABLE

jetty のログを確認すると、いくつかのログ エラーを除いて、ほぼ完全に空になっていますか?

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

単なる hello-world アプリであるアプリケーションを実行することができません (以前にも実際のアプリで試しました)。最初は展開マシンのopenjreが原因だと思っていましたが、openjdkでコンパイルしようとしましたが、それでも同じ結果が得られました。

jetty:absまた、 chown コマンドを使用してユーザーの下に hello.war ファイルを設定しようとしました。ルート アプリはこのように展開され、アプリが動作しない理由がわかりません。

インストールプロセスが何らかの形で間違っているかどうかを確認するためにいくつかのスレッドをチェックしましたが、解決策が見つかりません。その他のエラーは記録されていません。使ったらcat 2013_01_29.stderrout.log空いてます。問題の解決策を見つけるのを手伝ってください。アプリをできるだけ早く起動して実行したいだけです。

ありがとう!

編集:

さて、推奨されるjarファイルをダウンロードしましたが、applicationContextで許可が拒否されたという例外が発生しました。ちょっと混乱しているので、どうやって続けるのかまだわかりません。これは、jetty が書き込みに必要なアクセス許可を持っていないことを意味していると思い/var/cache/jettyますか?

2013-01-29 23:31:27.885:INFO::jetty-6.1.24
2013-01-29 23:31:27.945:INFO::Deploy /etc/jetty/contexts/javadoc.xml -> org.mortbay.jetty.handler.ContextHandler@ed42d08{/javadoc,file:/usr/share/jetty/javadoc}
2013-01-29 23:31:28.008:INFO::Extract file:/var/lib/jetty/webapps/hello.war to /var/cache/jetty/data/Jetty_0_0_0_0_8080_hello.war__hello__.yjv6m1/webapp
2013-01-29 23:31:28.051:WARN::Failed startup of context org.mortbay.jetty.webapp.WebAppContext@7786df0f{/hello,file:/var/lib/jetty/webapps/hello.war}
java.io.FileNotFoundException: /var/cache/jetty/data/Jetty_0_0_0_0_8080_hello.war__hello__.yjv6m1/webapp/WEB-INF/applicationContext.xml (Permission denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:160)
    at org.mortbay.resource.JarResource.extract(JarResource.java:215)
    at org.mortbay.jetty.webapp.WebAppContext.resolveWebApp(WebAppContext.java:942)
    at org.mortbay.jetty.webapp.WebAppContext.getWebInf(WebAppContext.java:800)
    at org.mortbay.jetty.webapp.WebInfConfiguration.configureClassLoader(WebInfConfiguration.java:62)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:457)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:224)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.mortbay.start.Main.invokeMain(Main.java:194)
    at org.mortbay.start.Main.start(Main.java:534)
    at org.mortbay.jetty.start.daemon.Bootstrap.start(Bootstrap.java:30)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:243)
2013-01-29 23:31:28.078:INFO::NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
2013-01-29 23:31:28.118:INFO::Opened /var/log/jetty/2013_01_29.request.log
2013-01-29 23:31:28.143:INFO::Started SelectChannelConnector@0.0.0.0:8080
4

1 に答える 1

1

war ファイルを解凍するための書き込み権限がないようです - 書き込みに失敗しています/var/cache/jetty/data/Jetty_0_0_0_0_8080_hello.war__hello__.yjv6m1/webapp/WEB-INF/applicationContext.xml。紛らわしいですが、「許可が拒否されました」というjava.io.FileNotFoundExceptionメッセージが本当の問題を示しています。

ディレクトリの下で自分自身に書き込み権限を付与するか、/var/cache/jetty/data/書き込み権限を持つユーザーとして Jetty を実行するか、Jetty が war ファイルを展開するディレクトリを書き込み可能な場所に変更します。

于 2013-01-29T22:55:40.013 に答える