使用wildfly maven插件在不同于localhost的地址上部署应用程序



我对maven和wildfly有点陌生。我可以使用eclipse和wildfly-maven-plugin成功地在127.0.0.1:8080/myapp上部署我的应用程序,但我想将它部署在我的机器(192.168.0.101)的IP地址上,这样我就可以从另一台计算机访问它。我的POM是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.vch.apps</groupId>
    <artifactId>myapp-chat</artifactId>
    <packaging>war</packaging>
    <version>1.0</version>
    <name>vch-myapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.0.13</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.3</version>
        </dependency>
    </dependencies>
    <profiles>
    <profile>
     <id>profileIP</id>
     <build>
        <finalName>myapp</finalName>
        <plugins>
            <plugin>
                <groupId>org.wildfly.plugins</groupId>
                <artifactId>wildfly-maven-plugin</artifactId>
                <version>1.0.1.Final</version>
                <configuration>
                    <jbossHome>/usr/local/wildfly-8.0.0.Final</jbossHome>
                    <!--hostname>192.168.0.101</hostname>
                    <port>8080</port-->
                </configuration>
            </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>

如果我执行wilfly:run from eclipse并在eclipse的Profiles框中指定profileIP,我下载并解压缩到'/usr/local/wildfly-8.0.0。Final'将在127.0.0.1:8080上启动,我的应用程序将部署到这个地址。如果我取消主机名和端口元素的注释,我的应用程序仍然部署在本地主机上。

是否有一种方法来部署我的应用程序在主机名元素中使用maven插件指定的ip,或者我需要在wildfly文件夹中的配置文件进行更改?

我只是下载了wildfly并将其解压缩,并没有将任何wildfly服务器添加到eclipse中。

看起来您可能想要使用deploy目标。正如您所说,run目标可以选择性地下载WildFly,启动它并部署应用程序。如果您使用指定的主机名和端口,它实际上也应该失败。如果不是,那听起来像是一个bug。

在WildFly方面,如果你想启动服务器,所以它在不同的IP上运行,或者可以访问所有IP,你需要在启动独立服务器时使用-b选项。默认情况下,可以通过系统属性jboss.http.port覆盖端口。

下面将启动WildFly监听所有可用IP的80端口。

$JBOSS_HOME/bin/standalone.sh -b 0.0.0.0 -Djboss.http.port=80

以上设置只是临时设置,仅用于HTTP设置。默认情况下,管理监听本地主机上的9990端口。您可以在文档中获得有关接口和端口的更多信息。

我设法通过为wildfly用户控制台添加一个用户(使用add-user.sh)来完成我想要的操作:127.0.0.1:9990/console/

在控制台中,我进入profile -> General COnfiguration -> Interfaces,将公共接口的Inet Address更改为:${jboss.bind.address:192.168.0.101},这是我本地机器的网络IP。我没有对我的POM做任何更改,我现在可以执行widlfy:run并指定profileIP来启动我的wildfly服务器并部署我的ap:192.168.0.100:8080/myapp .

您必须使用profile和pom.xml正确配置settings.xml文件,以便在命令行上读取配置文件。欲了解更多详情,请参阅这篇文章

相关内容

最新更新