gpt4 book ai didi

java - 如何将WAR结构嵌入到桌面应用程序中?

转载 作者:行者123 更新时间:2023-12-01 15:17:12 25 4
gpt4 key购买 nike

我们有一个用 Java 编写的应用程序,其中 UI 只占相对较小的部分。我们想要创建一个现代的、面向消费者的 UI,并得出结论:Swing 无法提供我们想要的东西。经过深思熟虑,我们决定尝试使用 Vaadin 构建 UI,虽然我们的应用程序无法在 Web 上运行(它是 p2p),但 Vaadin 提供了开箱即用的流畅且美观的体验。因此,我们的应用程序没有 Vaadin 所需的 WAR 结构。

我们的想法是,我们将创建一个小型嵌入式 Web 服务器,为用户的本地 Web 浏览器(我们将使用 java.awt.Desktop.browse() 启动)提供 Vaadin UI。但我们仍然面临如何将 WAR 结构嵌入到现有项目中的问题。我们的构建工具是Maven,您可以查看项目源代码:https://github.com/sanity/tahrir

最佳答案

您可以嵌入 Jetty:这里是 how .

示例:

Server server = new Server(8080);
Context root = new Context(server,"/",Context.SESSIONS);
root.addServlet(new ServletHolder(new HelloServlet("Ciao")), "/*");
server.start();

如果您想运行WARhere这是一个关于如何执行此操作的示例

相关代码如下:

server = new Server();
Connector connector = new SelectChannelConnector();
connector.setPort(PORT);
connector.setHost("127.0.0.1");
server.addConnector(connector);

WebAppContext wac = new WebAppContext();
wac.setContextPath("/");
wac.setWar("./web"); // this is path to the .WAR
server.setHandler(wac);
server.setStopAtShutdown(true);
server.start();

关于java - 如何将WAR结构嵌入到桌面应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com