Jetty 我怎样才能阻止码头

Jetty 我怎样才能阻止码头,jetty,Jetty,我不熟悉Jetty和客户机/服务器体系结构 我成功地在eclipse中编写了一个jetty服务器,它可以正常工作 但是我怎样才能停止jetty服务器呢?我听说了一些关于stop.jar和start.jar的事情。我在哪里能找到它?它是否集成在jetty all jar中?各种jetty all.jar工件可用于嵌入式jetty使用。如果您决定使用这个jar,您必须管理自己的启动/关闭 更新:2015:从Jetty 9开始,不推荐使用Jetty all.jar作为依赖项。这是因为从Jetty 9开

我不熟悉Jetty和客户机/服务器体系结构

我成功地在eclipse中编写了一个jetty服务器,它可以正常工作


但是我怎样才能停止jetty服务器呢?我听说了一些关于stop.jar和start.jar的事情。我在哪里能找到它?它是否集成在jetty all jar中?

各种
jetty all.jar
工件可用于嵌入式jetty使用。如果您决定使用这个jar,您必须管理自己的启动/关闭

更新:2015:从Jetty 9开始,不推荐使用
Jetty all.jar
作为依赖项。这是因为从Jetty 9开始,现在不可能在一个聚合罐中满足Jetty的“全部”。Jetty的某些组件无法包括在内,因为它们将导致此聚合jar出现问题。Jetty的未来,加上HTTP/2的支持,也使得这个聚合jar作为依赖项不再那么有用

典型嵌入式模式用法

启动服务器的线程:

Server server = new Server();
// various server configuration lines
// ...

// Start server (on current thread)
server.start();

// Have current thread wait till server is done running
server.join();
通知服务器关闭的另一个线程

// Have server stop running
server.stop();
此时,原始线程在
server.join()上的等待已完成,该线程将继续运行

标准分发用法

如果您使用的是可从中获得的标准发行版,则可以使用
start.jar
启动/停止jetty本身

解压缩jetty发行版后,您将在最上面的目录中找到一个
start.jar
。这可用于以下情况

启动jetty的过程:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret
停止jetty的过程:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret --stop

如果jetty作为maven插件,请按Ctrl+C停止服务器,然后按Y确认终止。

谢谢您的回答。我使用了stop(),但我仍然能够发送请求,所以我认为它不起作用。但我认为,我的问题是,我开始不止一个实例。现在我有了一个start和restart方法,我可以在终端中调用它,它可以正常工作。我必须向start和stop方法添加身份验证,但这是另一个问题。嘿,你知道有没有办法在不恢复已加入()的线程的情况下重新启动jetty?这个答案的关键点是使用stop.key设置。我第一次尝试仅使用STOP.PORT的进程,但无法从另一个终端进程停止Jetty。找到这个答案后,我尝试添加STOP.KEY,然后--STOP从另一个终端进程开始工作。