Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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的最佳方法_Java_Embedded Jetty - Fatal编程技术网

Java 执行嵌入式Jetty的最佳方法

Java 执行嵌入式Jetty的最佳方法,java,embedded-jetty,Java,Embedded Jetty,我有一个web应用程序,它被构造成一个标准的war。我想使用嵌入式Jetty服务器作为servlet容器。因为这都是一个代码库,所以我认为执行Jetty服务器的main()也会与其余代码发生冲突 那么,我如何执行我的main(),这是在战争中,以启动Jetty服务器?我看了一些例子,但是这些例子没有这种设置,在我看来,这是一种正常的设置 Jetty服务器是否需要被告知war文件的位置(war文件恰好位于其所在的位置),或者Jetty默认情况下是否查找并检查各种XML文件的WEB-INF Jett

我有一个web应用程序,它被构造成一个标准的war。我想使用嵌入式Jetty服务器作为servlet容器。因为这都是一个代码库,所以我认为执行Jetty服务器的main()也会与其余代码发生冲突

那么,我如何执行我的main(),这是在战争中,以启动Jetty服务器?我看了一些例子,但是这些例子没有这种设置,在我看来,这是一种正常的设置

Jetty服务器是否需要被告知war文件的位置(war文件恰好位于其所在的位置),或者Jetty默认情况下是否查找并检查各种XML文件的WEB-INF Jetty处理的是什么


我在使用中看到了一些类似的东西,但一致认为该插件不是用于生产的

要在Java中执行独立的应用程序,不需要战争。一个罐子就够了。war包含有关如何将web存档/应用程序部署到J2EE容器中的信息。当您独立运行它时,这是不必要的。主要的方法就足够了。你可以看看。它将帮助您构建一个可运行的jar


(作为旁注-可运行jar是一件相当简单的事情。jar文件的清单文件需要包含键
MainClass
,就是这样。)

我能够使用名为Jetty Console Maven plugin的Maven插件轻松地设置一个可执行文件。关于如何在Internet上使用它,没有太多文档。作者记下了他们的博客条目,了解如何使用它。但我确实在stackoverflow上找到了如何使用它的方法


这个插件的当前版本是1.55。可以找到它。我遇到的一个问题是,虽然该插件所需的大部分构件都在1.55版上,但其中一个,jetty console ajp插件,在1.53版上。这给我带来了一个问题,因为当我将所有其他插件设置为1.55时,当我尝试执行war时,出现了一个签名者异常错误。我从中找到了解决办法。修复方法是只使用所有插件的1.53版本。可能有一个更好的解决方案,允许您使用1.55和1.53 ajp插件。除此之外,该插件工作得很好,我恳请Jetty Console Maven插件的作者将其关于如何使用该插件的博文备份或为其创建新的文档。

从Jetty自己那里查看。在本例中,他们使用war作为实现注释的方式。因此,在实现servlet的标准功能时,他们似乎一直在返回WAR文件。是的,有一个可运行的WAR文件是有意义的。这样,您可以同时用于这两个目的。(另外,jetty确实需要war文件中的大部分内容。我想这取决于主方法的设置和应用程序的类型。)谢谢Jose!你链接到我的帖子,现在我用这篇帖子来解决1.55的问题。谢谢。