Java 我应该使用哪个.JAR来嵌入Jetty?

Java 我应该使用哪个.JAR来嵌入Jetty?,java,jquery,ajax,servlets,jetty,Java,Jquery,Ajax,Servlets,Jetty,在我的应用程序中,我希望在我的项目中嵌入一个HTTP服务器,使用AJAJ(类似于AJAX)实时更新页面。然而,我不知道从哪里开始,关于这个主题的教程数量相当有限,所以我决定使用一个我以前听过很多次的名字,Jetty 所以,我下载了Jetty并阅读了一些文档,我盯着他们的初学者教程问自己,“我应该使用哪一个f*kin罐子?”其中有9001个。更不用说有1200个文件夹,每个文件夹都包含1500多个jar文件 好吧,我有点夸张了,但是看看 这是公平的,嗯。。。令人困惑这与大多数只包含一个jar文件

在我的应用程序中,我希望在我的项目中嵌入一个HTTP服务器,使用AJAJ(类似于AJAX)实时更新页面。然而,我不知道从哪里开始,关于这个主题的教程数量相当有限,所以我决定使用一个我以前听过很多次的名字,Jetty

所以,我下载了Jetty并阅读了一些文档,我盯着他们的初学者教程问自己,“我应该使用哪一个f*kin罐子?”其中有9001个。更不用说有1200个文件夹,每个文件夹都包含1500多个jar文件

好吧,我有点夸张了,但是看看

这是公平的,嗯。。。令人困惑这与大多数只包含一个jar文件的库有很大不同,这只是。。。疯了


不管怎样,我正试图弄清楚我需要什么才能使用JQuery、AJAX(AJAJ)和基本的HTML特性

我建议您从这个简单的教程和
jetty all
jar开始


跟进Gas的答案

jetty all没有100%的jetty

过去是这样,因此得名

然而,今天不可能拥有100%的码头,因为许多组件可能会相互冲突

如果您使用maven、gradle或ant+ivy,那么您可能需要依赖:

  • org.eclipse.jetty:jettywebapp
  • org.eclipse.jetty.websocket:javaxwebsocketserverimpl
让这些构建工具的可传递性来解决其余的问题

这会让你很容易“开始”

还有很多使用嵌入式jetty的示例项目

见:

有些使用100%嵌入式jetty(没有war文件、WEB-INF或WEB.xml),有些使用在别处构建的war文件

Jetty使用maven,因此它可以参与全局中心工件库,Jetty上有两名开发人员也是maven上的开发人员

如果您想自己管理依赖关系,那么您需要清楚地了解要添加到项目中的每个jar文件的目的和角色/目的/关系/需求。(回答这个问题就超出了stackoverflow的范围)

您有许多构建工具选项,可以更轻松地管理依赖项:

  • (ApacheAnt的附加组件)
  • (用于在Java之上使用Scala)
  • (用于在Java之上使用Clojure)
Maven不是必需的,您可以使用上述任何工具


提示:Maven和Gradle是各种IDE(如EclipseIDE和IntelliJ)中最好的集成产品。

我猜您需要的不仅仅是一个jar。Jetty服务器也可能依赖于其他java库。我建议使用Maven或类似的工具来解决jar依赖关系。我不了解Maven,在花了三天时间尝试将我的项目转换为它(使用了将近15个不同的.jar库)后,我放弃了。对于链接+1,如果我在网络研讨会上找到了jetty-all.jar,我会将其标记为正确,但是,它抛出了classnotfound异常。我想这是因为我的项目不是maven格式的,但是。。。我在maven中没有依赖项,我使用了大量依赖的.jar库。@Christian.tucker因为您使用的是windows,所以需要对jetty all示例进行调整,以适应您的环境。(例如在任何类似路径的变量(如类路径)中使用
而不是
)您能解释一下文件类型之间的差异吗?我的问题通常是因为我不使用Maven,所以Tomcat/Jetty有问题。更不用说所有的指南都向您展示了如何通过maven进行设置,其他什么都没有。文件类型都是JAR。不知道你在问什么。“war、web inf、web.xml”是文件类型——你提供的所有示例都使用MAVEN设置,我的项目没有使用。我的问题是让Jetty在没有maven的情况下运行。答案告诉您,有一些示例包含这些文件,也有一些示例不包含这些文件(war、web inf、web.xml)。在尝试使用任何嵌入式web容器之前,您应该真正了解这些文件是什么。此外,仅仅说“嵌入式码头”并不意味着只有一种方法可以做事情。事实上,使用嵌入式jetty做某事的方法很多,基本上是无限的。也没有“最佳方式”、“建议方式”或“普通方式”。由于所有的技术都是有效的,有些项目只是有不同的目标想要达到。