gpt4 book ai didi

java - 运行jetty而不使用maven 2插件打包项目

转载 作者:行者123 更新时间:2023-11-30 05:15:18 27 4
gpt4 key购买 nike

我试图在不构建整个项目的情况下运行 jetty,而只需将 jetty 指向目标文件夹下的文件夹。这样做的原因是我希望在为 glassfish 构建应用程序时使用 jetty 作为静态内容服务器。例如,当我对 css 文件进行一点更改时,我不想一直重新部署。

当我使用maven jetty插件并运行jetty:run-exploded时,它会自动构建项目,包括测试和打包。我希望避免这种情况。

有什么建议吗?

最佳答案

关于jetty:run-exploded ,文档说:

This goal is used to assemble your webapp into an exploded war and automatically deploy it to Jetty.

...

  • Invokes the execution of the lifecycle phase package prior to executing itself.

因此,您所描述的行为是正常行为,这是有道理的,因为如果尚未构建,jetty 就无法期望在目标下找到某些内容,并且如package 所示。阶段可能涉及过滤之类的事情(因此必须进行过滤)。

也就是说,有一些事情可能会有所帮助(我不确定我是否清楚地理解了您的目标,所以我会提到几个选项)。第一个选项,您可以使用 manual reload而不是automatic以避免自动重新部署。关于manual模式,documentation写道:

"Manual Reloading" As of Jetty 6.2.0pre0 a new feature to control webapp redeployment will be available. The configuration parameter is: <reload>[manual|automatic]</reload> When set to manual, no automatic scanning and redeployment of the webapp is done. Rather, the user can control when the webapp is reloaded by tapping the carriage return key. Set to automatic the scanning and automatic redeployment is performed at intervals controlled by the scanIntervalSeconds parameter. The choice of reloading paradigm can also be configured on the command line by use of the -Djetty.reload system parameter. For example: "mvn -Djetty.reload=manual jetty:run" would force manual reloading, regardless of what is configured in the project pom. Similarly: "mvn -Djetty.reload=automatic -Djetty.scanIntervalSeconds=10 jetty:run" will force automatic background reloading with a sweep every 10 seconds, regardless of the configuration in the project pom.

另一个选择是创建另一个“空”war 模块(在 Maven 意义上)来启动 jetty 并使用 jettyConfig要设置的可选参数:

The location of a jetty.xml file that will be applied in addition to any plugin configuration parameters. You might use it if you have other webapps, handlers etc to be deployed, or you have other jetty objects that cannot be configured from the plugin.

这样,您应该能够从其他 Web 应用程序部署静态内容。我不认为额外的内容会被“观看”,但如果需要,您可以随时将其与手动模式结合起来。虽然从未测试过。

关于java - 运行jetty而不使用maven 2插件打包项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1659503/

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