Разверните приложение с помощью плагина wildfly maven по адресу, отличному от локального хоста.

Я немного новичок в maven и wildfly. Я могу успешно развернуть свое приложение на 127.0.0.1:8080/myapp, используя eclipse и wildfly-maven-plugin, но я хотел бы развернуть его на IP-адресе моей машины (192.168.0.101), чтобы я мог получить к нему доступ с другого компьютера . Мой ПОМ выглядит так:

<?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 из eclipse и укажу profileIP в поле Profiles в Eclipse, wildfly, который я загрузил и распаковал в «/usr/local/wildfly-8.0.0.Final», запустится с 127.0.0.1:8080, а мой приложение будет развернуто по этому адресу. Если я раскомментирую элементы имени хоста и порта, мое приложение все равно будет развернуто на локальном хосте.

Есть ли способ развернуть мое приложение на IP-адресе, указанном в элементе имени хоста, с помощью плагина maven или мне нужно внести изменения в файлы конфигурации в папке wildfly? Я только загрузил wildfly и распаковал его и не добавлял никаких серверов wildlfy в eclipse.


person vicch    schedule 11.06.2014    source источник


Ответы (3)


Возможно, вы захотите использовать цель deploy. вместо. Цель run, как вы сказали, необязательно загружает WildFly, запускает его и развертывает ваше приложение. На самом деле это тоже должно дать сбой, если вы использовали указанное вами имя хоста и порт. Если это не так, то это похоже на ошибку.

На стороне WildFly, если вы хотите запустить сервер, чтобы он работал на другом IP-адресе или был доступен для всех IP-адресов, вам необходимо использовать параметр -b при запуске автономного сервера. Порт может быть переопределен по умолчанию через системное свойство jboss.http.port.

Следующее запустит WildFly прослушивание порта 80 на всех доступных IP-адресах.

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

Приведенные выше настройки являются временными и предназначены только для настроек HTTP. Управление по умолчанию прослушивает порт 9990 на локальном хосте. Дополнительную информацию об интерфейсах и портах можно получить в документации.

person James R. Perkins    schedule 12.06.2014
comment
Спасибо за ответ. Я не говорил, что когда я выполняю цель запуска, загружается wildfly. Это произойдет, если вы не укажете ‹jbossHome› в POM.xml, а здесь это не так. Я имел в виду, что widlfy, который я ранее загрузил и установил по пути, указанному в элементе ‹jbossHome› файла POM.xml, запустится с 127.0.0.1:8080, и мое приложение будет развернуто на сервере. Тем не менее, ваше решение будет работать, если вы хотите использовать цель развертывания. - person vicch; 18.06.2014

Мне удалось сделать то, что я хочу, добавив пользователя (используя add-user.sh) для пользовательской консоли wildfly, доступной по адресу: 127.0.0.1:9990/console/

В консоли я перешел в Porfile -> General Configuration -> Interfaces и изменил Inet-адрес публичного интерфейса на: ${jboss.bind.address:192.168.0.101}, который является сетевым IP-адресом моей локальной машины. Я не вносил никаких изменений в свой POM, и теперь я могу выполнить widlfy:run и указать IP-адрес профиля, чтобы запустить мой сервер wildfly и развернуть мой ap на: 192.168.0.100:8080/myapp.

person vicch    schedule 18.06.2014

Вы должны правильно настроить файл settings.xml с профилем и файл pom.xml, чтобы прочитать профиль в командной строке. Дополнительные сведения см. в этом публикации

person Ivan Aranibar    schedule 27.08.2016