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

时间:2014-06-11 16:49:37

标签: java eclipse maven wildfly

我对maven和wildfly有点新鲜。我可以使用eclipse和wildfly-maven-plugin在127.0.0.1:8080/myapp上成功部署我的应用程序但是我想将它部署在我的机器的IP地址(192.168.0.101)上,这样我就可以从另一台计算机访问它了。我的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:从eclipse运行并在Eclipse的Profiles框中指定profileIP,我下载并解压缩到'/usr/local/wildfly-8.0.0.Final'的wildfly将从127.0.0.1开始: 8080和我的应用程序将部署到此地址。 如果我取消注释主机名和端口元素,我的应用程序仍然部署在localhost上。

有没有办法使用maven插件在hostname元素中指定的ip上部署我的应用程序,还是需要更改wildfly文件夹中的配置文件?我只下载了wildfly并解压缩它,并没有添加任何野生服务器到eclipse。

3 个答案:

答案 0 :(得分:2)

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

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

以下内容将启动WildFly在所有可用IP上的端口80上进行侦听。

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

上述设置仅为临时设置,仅限HTTP设置。默认管理侦听localhost上的端口9990。您可以在documentation中获得有关接口和端口的更多信息。

答案 1 :(得分:0)

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

在控制台中,我去了Porfile - &gt;一般配置 - &gt;接口并将公共接口的Inet地址更改为:$ {jboss.bind.address:192.168.0.101}这是我本地计算机的网络IP。我没有对我的POM进行任何更改,现在我可以执行widlfy:运行并指定profileIP来启动我的wildfly服务器并部署我的ap: 192.168.0.100:8080/myapp。

答案 2 :(得分:0)

您必须使用配置文件和pom.xml正确配置settings.xml文件,以便在命令行上读取配置文件。有关详细信息,请参阅此post