Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jetty 9服务器没有start()方法_Java_Embedded Jetty_Jetty 9 - Fatal编程技术网

Java Jetty 9服务器没有start()方法

Java Jetty 9服务器没有start()方法,java,embedded-jetty,jetty-9,Java,Embedded Jetty,Jetty 9,我试图在应用程序中嵌入Jetty服务器,但发现了一个非常奇怪的问题: 根据文档,可以使用以下代码启动一个简单的服务器(我正在构建它作为测试): import org.eclipse.jetty.server.Server; public class SimpleServer throws Exception { public static void main(String[] args) { Server server = new Server(8080);

我试图在应用程序中嵌入Jetty服务器,但发现了一个非常奇怪的问题:

根据文档,可以使用以下代码启动一个简单的服务器(我正在构建它作为测试):

import org.eclipse.jetty.server.Server;

public class SimpleServer throws Exception
{

   public static void main(String[] args)
   {
      Server server = new Server(8080);

      server.start();
      server.join();
   }

}
我相信我从下载的Jetty中获得了正确的Jar文件:

jetty-server-9.3.7.v20160115.jar

不幸的是,我发现我使用的服务器类没有公共start()方法。它有一个受保护的start()方法,该方法有一个生命周期参数,但仅此而已。文档中引用的public start()方法(以及堆栈溢出中的几个答案)不存在

我是否使用了正确的服务器类?如果没有,我在哪里可以买到合适的


请有人告诉我……

这里没有问题

存在一个公共修饰符
Server.start()
,该修饰符自Jetty 5.0天以来一直存在

不确定您正在使用什么库/构建,但在
服务器
类、
抽象生命周期
(抽象)类甚至
生命周期
接口中,此方法不受保护。

您还需要在项目中添加“jetty util-{version},这将解决您的问题。 或者您可以在项目中使用maven并添加“jetty server-{version}”作为maven依赖项。Maven将自动下载所有jetty服务器相关JAR(包括jetty util-{version})。

server.start()受保护。如果您编写了一个MyJetty类,它只扩展jetty服务器,而它是一个内部类,那么您可以对它调用start()方法

这是我在班上做的,我想开始Jetty()

这似乎是一个非常错误的答案,但它奏效了

public abstract interface org.eclipse.jetty.util.component.LifeCycle

jetty util-{version}.jar
中,将此jar添加到jetty 9.2.14中的项目构建路径中,它肯定受到保护。下面是一些稍旧的javadoc,它也显示为受保护的@mdhirsch
start(LifeCycle)
(受保护/内部)与
start()
(public/api)不同。我不明白这有什么帮助。我的依赖项中有两个JAR,并且该方法仍然受到保护。我找不到任何例子来说明这个问题。一旦添加了这个依赖项,它将使用AbstractLifeCycle.start方法。如果您添加了“jetty util-{version}”-请刷新您的项目,现在应该可以使用不带参数的public Server.start方法。谢谢我离开Java有一段时间了,据我回忆,当时还没有扩展方法(比如C#has)。如果解释了它背后的机制,这个答案将非常棒。我找到了自己的答案:AbstractLifeCycle在继承链中很遥远。
public abstract interface org.eclipse.jetty.util.component.LifeCycle