【问题标题】:How to run multiple instances of jetty with maven如何使用 maven 运行多个码头实例
【发布时间】:2012-09-25 21:06:10
【问题描述】:

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

所以,我想要类似的东西:

localhost:8080/webapp1
localhost:8081/webapp2

我想用一个命令来做到这一点:mvn jetty:run 这当然意味着我必须在 pom.xml 中配置它

我已经有两个不同的码头配置文件:jettyA.xml 和 jettyB.xml,其中定义了不同的连接器。 问题是我不知道如何用一个 pom.xml 来做到这一点

我尝试了两个配置文件,但不知何故不起作用。 刚刚启动了上次提到的配置文件中的码头。

【问题讨论】:

标签: java maven jetty instances


【解决方案1】:

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

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

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

mvn jetty:run -Djetty.port=8081

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

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

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

【讨论】:

  • 是的..我知道如何为码头服务器设置端口..如果我从两个不同的项目运行码头,每个项目都有自己的 POM.XML 我可以做我描述的事情......但是我想在一个只有一个 POM.XML 文件的新项目中执行此操作......所以但我无法弄清楚如何在这个 ONE POM.XML 中设置两个不同的 jetty.xml 文件
【解决方案2】:

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

1.)在 eclipse 或 STS 中转到 Run -> Run ConfigurationsDebug Configurations (我用的是 STS)

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

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

4.)在下面选择 Browse Workspace 然后选择您要清理并使用码头服务器运行的项目(我认为您已经在 pom 文件中添加了码头插件)

5.) 在 Goal 文本框中输入下一行(您可以使用 8020 或 8065 或任何端口)

clean install -Djetty.port=8020 jetty:run

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

7.)然后应用 -> 运行/调试

【讨论】:

    【解决方案3】:

    好的,我是这样解决的……

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-09
      • 2015-05-22
      • 1970-01-01
      • 2015-04-24
      • 2014-12-16
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多