如何使用maven运行多个jetty实例

时间:2012-09-25 21:06:11

标签: java maven jetty instances

所以,我想要做的是配置maven插件jetty来运行多个 - 在我的情况下是两个 - 不同端口和不同应用程序上的jetty服务器实例。

所以,我希望有类似的东西:

localhost:8080/webapp1
localhost:8081/webapp2

我想用一个命令执行此操作:mvn jetty:run 这当然意味着我必须在pom.xml中配置它

我已经有两个不同的jetty配置文件:jettyA.xml和jettyB.xml,其中定义了不同的连接器。 问题是我无法弄清楚如何用一个pom.xml

来做到这一点

我试过两个配置文件,但不知何故不起作用。 刚刚提到的最后一个档案中的码头已经开始了。

3 个答案:

答案 0 :(得分:8)

使用如下属性变量替换pom.xml中的端口号:

<port>${jetty.port}</port>

然后使用以下命令运行maven:

mvn jetty:run -Djetty.port=8081

要定义默认端口数,请将此默认属性添加到您的pom文件中:

<properties>
    <jetty.port>8080</jetty.port>
</properties>

如果您需要更高级的方法来确定端口号,则需要在主类中嵌入jetty。

答案 1 :(得分:2)

这是我对上述问题进行排序的方式

1.)转到运行 - &gt;在eclipse或STS中运行配置调试配置 (我使用过STS)

2.)然后会出现对话框&amp;在左侧菜单中双击 Maven Build

3.)在名称下的右侧顶部文本阶段输入您想要的Anyname     例如: - Jetty_Server

4.)在下面选择浏览工作区,然后选择要清理的项目。使用jetty服务器运行(我想你已经在你的pom文件中添加了jetty插件)

目标文本框中的

5。)输入以下行(您可以使用8020或8065或任何端口)

clean install -Djetty.port=8020 jetty:run

6.)然后配置 maven运行时(选择maven文件夹的安装位置)

7.)然后申请 - &gt;的运行/调试

答案 2 :(得分:1)

好的,我解决了这个......

我有一个包含两个不同配置文件的POM.XML文件。 然后我写了一个SH脚本..我在其中运行这两个配置文件:

mvn jetty:run-war -Pprofile1 &
mvn jetty:run-war -Pprofile2

在每个配置文件中,我都有自己的配置文件(jettyA.xml,jettyB.xml),在不同的端口上定义了两个服务器 - 使用不同的应用程序。

现在我所要做的就是运行一个SH脚本,就是这样。