从 Jar 运行 Maven Jetty

标签 maven configuration jetty maven-jetty-plugin

这是我想做的事情。我创建了一个maven项目并在eclipse中为其配置了jetty插件...

因此,如果我在 Eclipse 中运行并将 Maven 目标设置为 jetty:run,它将在 jetty 中的 web.xml 中指定的端口上运行我的项目。现在我想构建 jar 文件,当我执行 java -jar myapp.jar 时,它会自动调用 jetty:run

我该怎么做?

最佳答案

如果您想打包您的应用程序,以便可以将其交给某人并让他们将其作为独立应用程序运行,而无需将 war 文件部署到 Web 容器中,那么这与执行 mvn jetty:run 在开发时,我会调用该部署时间以避免任何困惑

在部署时,我们不能假设机器上会有maven,因此没有mvn jetty:run,即使有,这也不起作用,除非我们提供源代码像在开发环境中一样运行构建的代码!

可以通过将应用程序 war 中的 jetty jar 与 Main 类捆绑在一起来打包独立的 Web 应用程序,以编程方式启动 jetty,并让它运行应用程序 war 。这依赖于这样一个事实:WAR 和 JAR 的文件和目录结构不同,因此两者之间没有明显的重叠,这就是使这种解决方法成为可能的原因,并且还留下了将 war 文件部署在可能的网络容器

关于从 Jar 运行 Maven Jetty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8191530/

相关文章:

maven - 如何使用 maven-assembly-plugin 包含 'provided' 范围的依赖项

java - Flex/Java Web 应用程序的外部化客户端 ChannelSet 配置

php - 我如何设置xampp从C盘到D盘的路径

deployment - 如何配置Web容器使其连续运行,以便使用GRADLE jetty 进行热重新部署?

java - Java Servlet 中静态变量的使用(例如在 AppEngine 中)

java - 如何使我的 Web 应用程序与 SPDY、Jetty 一起工作

java - 如何从GCP Cloud Function中的maven资源文件夹读取文件?

git - 通过 HTTPS 将 maven-release-plugin 与 git 结合使用

java - 使用 Java 8 的 cobertura-maven-plugin

java - 如何使用apache common中的XMLConfigurtion检查节点是否存在?