在 wildfly maven 插件中更改 http 端口

Change http port in wildfly maven plugin

我想使用 wildfly-maven-plugin 将默认 HTTP 端口更改为 8380。通常,我可以更改偏移量,但是 this is not working ,我的更改将被忽略,HTTP 端口继续在 8080 上。

我在同一个 maven 项目中启动 wildfly,因为这更实用(下载并自动启动)。就这样:

mvn wildfly:run -Dwildfly.version=10.1.0.Final

我的项目包含 JAR、WAR 和 EAR。经典结构

正如我从另一个SO问题中了解到的那样,我需要将插件条目放在每个需要忽略的pom.xml中,将<skip>true</skip>放在根的pom.xml中, WAR 和 JAR。就这样:

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>1.2.1.Final</version>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>

如果我不跳过这个家伙,Wildfly 尝试部署 JAR/WAR/Root,什么不是我的 objective。我只想部署 EAR。

为此,我仅将 <skip>false</skip> 用于 EAR 的 pom.xml:

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>1.2.1.Final</version>
    <configuration>
        <skip>false</skip>
    </configuration>
</plugin>

localhost:8080/app/在那之后效果很好。

但如果我尝试更改偏移量或 http 端口,则不会发生任何不同。这是我已经尝试 <configuration/> 但没有成功的一些参数:

<server-args>
    <server-arg>-Djboss.socket.binding.port-offset=300</server-arg>
</server-args>

<jvmArgs>-Djboss.socket.binding.port-offset=300</jvmArgs>

<jvmArgs>-Djboss.http.port=8380</jvmArgs>

有一定影响的变化是:

<serverConfig>standalone.xml</serverConfig>
<server-args>
    <server-arg>-Djboss.socket.binding.port-offset=300</server-arg>
</server-args>
<filename>${project.build.finalName}.ear</filename>

这也改变了端口(jvmArgsdeprecated):

<javaOpts>-Djboss.socket.binding.port-offset=300</javaOpts>

但在这两种情况下,EAR 应用程序都没有部署...

有什么想法吗?谢谢!

尽量不要跳过配置:D

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>1.2.1.Final</version>
    <configuration>
        <port>8380</port>
    </configuration>
</plugin>

终于找到了解决方法。

jvmArgs is deprecated。我使用了 javaOpts:

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>1.2.1.Final</version>
    <configuration>
        <skip>false</skip>
        <javaOpts>-Djboss.http.port=8380</javaOpts>
        <filename>${project.build.finalName}.ear</filename>
    </configuration>
</plugin>

有效!

你也可以使用:

<javaOpts>
    <javaOpt>-agentlib:jdwp=transport=dt_socket,address=9087,server=y,suspend=n</javaOpt>
    <javaOpt>-Djboss.http.port=8380</javaOpt>
</javaOpts>

为 JVM 使用多个选项。在上面的这个例子中,我展示了如何包含一个参数来使用 maven 插件调试 Wildfly。

但是我使用offset配置时为什么没有部署EAR还是个谜