带有嵌入式 Jetty 的 Tapestry Web 应用程序

发布于 2024-10-17 05:42:50 字数 573 浏览 9 评论 0原文

如何配置 Tapestry5 项目以使用嵌入式 Jetty 独立运行(通过 java -jar)?

我正在寻找一个关于 Tapestry5、Jetty、servlet/处理程序配置/连接这些点所需的任何内容的简短“食谱”...

我已经看到了一些点: 如何创建可执行 War配置 Tapestry(将 Tapestry 引用为 servlet 过滤器)

编辑:由于服务器环境,我正在考虑独立运行的 web 应用程序。它不必嵌入 Jetty,但我不能依赖稳定的应用程序服务器。不过,仍在寻找食谱,所以我不会在死胡同上花太多时间...

另外,我希望 Jenkins (Hudson) 能够在部署更新时自动停止和启动服务器 - 我不这样做不知道这是否会影响我可以用 Jetty 做什么,f.ex。

How can I configure a Tapestry5 project to run standalone (via java -jar) with embedded Jetty?

I'm looking for a short "recipe" regarding Tapestry5, Jetty, configuration of servlets/ handlers/ whatever is needed to connect the dots...

I've seen a few dots: How to Create an Executable War, Configuring Tapestry (ref Tapestry as servlet filter)

Edit: I'm thinking about a standalone running webapp due to server circumstances. It doesn't have to be embedded Jetty, but I can't rely on a stable appserver. Still looking for a recipe, though, so I don't spend much time on dead ends...

Also, I'd like for Jenkins (Hudson) to be able to stop and start the server automatically when deploying updates - I don't know if that influences what I can do with Jetty, f.ex.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

你爱我像她 2024-10-24 05:42:50

嗯,我相信这是一个一般性的“如何进行战争问题”。假设你确实有一场战争,你可以使用 jetty 或 winstone 来“运行”它 - 请参阅:

http://winstone.sourceforge。 net

http:// www.enavigo.com/2008/08/29/deploying-a-web-application-to-jetty/

第一种情况,你可以直接做

java -jar winstone.jar --warfile=<warfile>

Well, i believe this is a general "how to run a war question". Assuming you indeed have a war, you can use jetty or winstone to "run" it - see :

http://winstone.sourceforge.net

and

http://www.enavigo.com/2008/08/29/deploying-a-web-application-to-jetty/

In the first case, you can directly do

java -jar winstone.jar --warfile=<warfile>
凉墨 2024-10-24 05:42:50

我做了一些挖掘,这是我基本上最终遵循的简短秘诀:

  1. Tapestry 5 archetype
  2. stopKeystopPort 属性添加到 Maven Jetty 插件配置
  3. Jenkins CI 运行 maven 目标 jetty:stop 然后clean install
  4. 让 Jenkins运行 shell 脚本 mvn jetty:run &

瞧 - 我的 Java 应用程序已启动并使用自动更新的代码运行,无需任何应用程序服务器。

I did some digging, and this is the short recipe I basically ended up following:

  1. Start with the Maven Jetty plugin as configured in the pom.xml of the Tapestry 5 archetype
  2. Add the stopKey and stopPort attribute to Maven Jetty plugin configuration
  3. Let Jenkins CI run maven target jetty:stop and then clean install
  4. Let Jenkins run shell script mvn jetty:run &

Voila - my Java app is up and running with automatically updated code, without any appserver.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文