2012-11-25 32 views
1

如何在服务器启动后立即运行Maven? 服务器运行后,是否可以使用cron执行脚本?或者这是一种不好的做法? 我正在使用Jetty和Resteasy并在Maven上运行它们来启动我的网络服务器。如何在启动时作为守护程序或独立运行Maven

当我的服务器启动时,Maven自动启动的最佳解决方案是什么? 该命令使用方法是:

mvn jetty:run -e 

编辑: 我使用Amazon EC2上启动一个实例,我想有Maven构建尽快实例启动运行。 Maven构建并运行Resteasy,Jetty以及pom.xml文件中陈述的一系列其他依赖项。

+0

Reza,在你的服务器启动后,你希望Maven为你做什么?码头:运行将开始运行在端口8080码头。检查插件页面的更多信息:http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin – mhshams

+0

会更简单的使用像詹金斯这样的东西来运行你的Maven使用Jenkins API构建并在启动时调用Jetty作业? –

+0

谢谢@mohammadshamsi请在编辑问题上看看。技术上,当我使用Maven并运行mvn码头时:运行-e服务器以我的shell上的所有配置启动。但是我想把它作为守护进程或运行mvn码头:在启动时运行-e,这样我就不必手动连接到服务器并运行命令。 – Reza

回答

0

你可以使用你的操作系统特定的init脚本方法。 Ubuntu操作系统的一个很好的答案可以在here找到。

0

通常,您使用Maven作为构建工具,而不是部署工具。

你想完成什么?如果你只是想启动Jetty,它会附带自己的init脚本,如果启用它们,它将在启动时启动它。

除非有令人信服的理由为此使用Maven,否则我会让您的Maven构建过程创建一个“可执行单元”,例如可执行JAR,WAR等,然后在启动时启动它。

+0

我使用Maven进行部署的原因基本上是:我们正在亚马逊上部署大量计算机,并且构建(代码)更改频繁(每小时)。这个概念就是我们想要在云上运行时演变代码。 – Reza

+0

我会建议使用Jenkins或一些类似的工具来构建,分发这些,并运行完成的构建。更容易跟踪到底发生了什么。 –

相关问题