作为Windows服务运行时找不到Jetty WebAppContext

时间:2013-11-21 10:21:28

标签: windows-services jetty

我正在将Jetty 6更新为Jetty 8.其他一切进展顺利,但在将Jetty作为Windows服务运行时,我无法使应用程序正常工作。我正在使用Java Service Wrapper和WrapperJarApp集成方法。

看似一切正常。 Wrapper,Jetty或我的应用程序没有错误。我打开了Jetty调试,没有明显的警告或错误。 Jetty在开始时告诉我的是:

INFO   | jvm 1    | 2013/11/21 10:50:54 | WrapperManager: Initializing...
INFO   | jvm 1    | 2013/11/21 10:50:55 | 2013-11-21 10:50:55.231:INFO:oejs.Server:jetty-8.1.14.v20131031
INFO   | jvm 1    | 2013/11/21 10:50:55 | 2013-11-21 10:50:55.239:INFO:oejdp.ScanningAppProvider:Deployment monitor C:\jetty-8.1.14\webapps at interval 1
INFO   | jvm 1    | 2013/11/21 10:50:55 | 2013-11-21 10:50:55.243:INFO:oejd.DeploymentManager:Deployable added: C:\jetty-8.1.14\webapps\MyApp
STATUS | wrapperm | 2013/11/21 10:50:58 | MyApp started.
INFO   | jvm 1    | 2013/11/21 10:50:58 | 2013-11-21 10:50:58.715:INFO:MyApp:Initializing Spring root WebApplicationContext
INFO   | jvm 1    | 2013/11/21 10:51:02 | 2013-11-21 10:51:02.630:INFO:oejdp.ScanningAppProvider:Deployment monitor C:\jetty-8.1.14\contexts at interval 1
INFO   | jvm 1    | 2013/11/21 10:51:02 | 2013-11-21 10:51:02.658:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080
INFO   | jvm 1    | 2013/11/21 10:51:02 | 2013-11-21 10:51:02.660:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080

显然Jetty找到了我的应用程序。但是,如果我转到http://localhost:8080/,它会给我404(应该如此),并说“此服务器已知的上下文是:”,没有任何已知的上下文。如果我使用start.jar启动没有JSW的Jetty,它会说:

Contexts known to this server are:

    /MyApp ---> o.e.j.w.WebAppContext{/MyApp,file:/C:/jetty-8.1.14/webapps/MyApp/},C:\jetty-8.1.14\webapps\MyApp

很明显,即使应用程序似乎正常部署,上下文也存在一些问题。我首先假设这是一些工作目录问题,但我已经尝试用绝对路径替换所有Wrapper配置路径以及指定包装器工作目录。我还尝试将所有包装文件按照指示放在Jetty根目录中 在作为服务运行时可能导致此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

显然我的配置文件中有太多东西。我孜孜不倦地跟着我发现的一个例子,并将各种JAR文件等添加到我的类路径中。显然有太多,我相信Jetty试图不止一次加载相同的上下文。现在我只有以下类路径和应用程序参数设置,一切正常:


wrapper.java.classpath.1=../lib/wrapper/wrapper.jar
wrapper.app.parameter.1=../start.jar