我对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文件夹中的配置文件进行更改?
看起来您可能想要使用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文件,以便在命令行上读取配置文件。欲了解更多详情,请参阅这篇文章