Eclipse Jetty不断要求webdefault.xml

时间:2014-07-10 12:53:16

标签: eclipse jetty osgi embedded-jetty

我将所有必需的Jetty捆绑包部署到OSGi容器并启动服务器实例。然而,虽然我正在部署jetty-webapp并且相应的jar包含文件org\eclipse\jetty\webapp\webdefault.xml,但在启动时我提出了错误

java.io.FileNotFoundException: D:\eclipse\org\eclipse\jetty\webapp\webdefault.xml

D:\eclipse是我发起的日食安装)

为什么Jetty不使用它附带的文件?当我将文件从jar复制到请求的位置时,Jetty运行正常 - 但这不是一个可行的解决方案。

我不介意提供文件,但是我再也不知道如何将路径传递给Jetty。启动直接发生在eclipse启动配置中,不涉及maven。

1 个答案:

答案 0 :(得分:2)

如果您使用jetty-osgi-boot.jar,则必须设置以下系统属性:

-Djetty.home.bundle=org.eclipse.jetty.osgi.boot
-Djetty.port=8080

该值是包含默认配置的osgi-boot软件包的符号名称。

码头文档中的更多信息:http://www.eclipse.org/jetty/documentation/current/framework-jetty-osgi.html

或者,您可以使用org.apache.felix.http.jetty包。您可以在此处找到相关信息:http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html

或者您可以使用Pax Web:https://ops4j1.jira.com/wiki/display/paxweb/Advanced+Jetty+Configuration

我之前使用过jetty-osgi。现在我使用felix的东西,因为它可以通过configadmin配置。 Pax-web也可以通过configAdmin使用。我还没有尝试过,但我听说它有它的好处(例如使用HTTPService更好的servlet上下文处理)