wildfly-maven-plugin Есть ли способ указать jboss.server.base.dir

Теперь я пытался запустить экземпляры сервера wildfly с помощью плагина maven, а не JBOSS_HOME/bin/standalone.bat

Глядя на документацию по плагину, я не вижу, как можно повлиять на базовый каталог для сервера.

Чтобы проиллюстрировать это, вот пример рабочей командной строки с использованием автономной летучей мыши.

standalone.bat --server-config=standalone-empty.xml -Djboss.server.base.dir=C:\dev\Widlfly10\wildfly-10.0.0.Final\standalone-cli

С другой стороны, если мы попытаемся использовать плагин maven, он, кажется, всегда ищет файл конфигурации в стандартной папке "standalone".

Ниже приведена иллюстрация возможной попытки запуска сервера запуска.

mvn org.wildfly.plugins:wildfly-maven-plugin:1.1.0.Final:start -Dwildfly.server.type=STANDALONE  -Djboss-as.home=C:\dev\Widlfly10\wildfly-10.0.0.Final -Djboss.server.base.dir=C:\dev\Widlfly10\wildfly-10.0.0.Final\standalone-cli -Dwildfly.serverConfig=standalone-empty.xml

И следующая иллюстрация того, что в итоге происходит, когда вы запускаете эту команду.

[INFO] --- wildfly-maven-plugin: 1.1.0.Final: start (default-cli) @ wildfly-maven-plugin-runner --- 20 июня 2017 г. 15:31:03 org.xnio.Xnio ИНФОРМАЦИЯ: версия XNIO 3.3.1. Финал 20 июня 2017 г. 15:31:03 org.xnio.nio.NioXnio ИНФОРМАЦИЯ: Версия реализации XNIO NIO 3.3.1. Финал 20 июня 2017 г. 15:31:03 org.jboss.remoting3.EndpointImpl INFO: JBoss Remoting, версия 4.0.9.Final [INFO] JAVA_HOME = c: \ PROGRA ~ 1 \ Java \ JDK18 ~ 1.0_1 \ jre [INFO] JBOSS_HOME = C: \ dev \ Widlfly10 \ wildfly-10.0. 0.Final

[INFO] STANDALONE сервер запускается. 15:31:06,758 ИНФОРМАЦИЯ [org.jboss.modules] (основная) Модули JBoss версии 1.5.1.Final java.lang.IllegalStateException: WFLYCTL0214: Не удалось получить основной файл: standalone-empty.xml. Указанные файлы должны относиться к конфигурации dir: C:\dev\Widlfly10\wildfly-10. 0.0.Final\standalone\configuration в org.jboss.as.controller.persistence.ConfigurationFile.determineMainFile(ConfigurationFile.java:311) в org.jboss.as.controller.persistence.ConfigurationFile.(ConfigurationFile.java:172) в организации.jboss.as.server.ServerEnvironment.(ServerEnvironment.java:456) в org.jboss.as.server.Main.determineEnvironment(Main.java:297) в org.jboss.as.server.Main.main(Main. Java:94) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorjjjjjj.reflect.Method.invoke(Method.java:498) в org.jboss.modules.Module.run(Module.java:329)

Вышеуказанное исключение ясно показывает, что он хочет найти файл конфигурации в папке: C: \ dev \ Widlfly10 \ wildfly-10. 0.0.Final \ автономный \ Конфигурация

И этого я не хочу, чтобы это произошло. Существует несколько автономных доменов с независимыми папками журналов.

Есть ли способ, которым через другие свойства конфигурации плагина, такие как "serverArgs", можно обойти это?

Или это ограничение плагинов?

Документацию по плагину можно найти по адресу. https://docs.jboss.org/wildfly/plugins/maven/latest/run-mojo.html

Похоже, плагин Maven на самом деле глючит. Можно запустить сервер с помощью следующего коммандера:

mvn org.wildfly.plugins:wildfly-maven-plugin:1.1.0.Final:start -Dwildfly.server.type=STANDALONE  -Djboss-as.home=C:\dev\Widlfly10\wildfly-10.0.0.Final -Dwildfly.serverArgs="-Djboss.server.base.dir=C:/dev/Widlfly10/wildfly-10.0.0.Final/standalone-cli" -Dwildfly.serverConfig=../../standalone-cli/configuration/standalone-empty.xml 

Но когда мы смотрим на свойства jvm, мы видим, что приложение запускается плагином со следующей запятой:

C: \ dev \ Widlfly10 \ wildfly-10.0.0.Final \ modules org.jboss.as.standalone -Djboss.home.dir = C: \ dev \ Widlfly10 \ wildfly-10.0.0.Final -Djboss.server.base.dir = C: \ dev \ Widlfly10 \ wildfly-10.0.0.Final \ standalone -Djboss.server.log.dir = C: \ dev \ Widlfly10 \ wildfly-10.0.0.Final \ standalone \ log -Djboss.server.config.dir = C: \ dev \ Widlfly10 \ wildfly-10.0.0.Final \ standalone \ configuration -c = standalone-empty.xml -Djboss.server.base.dir = standalone-cli

Интересно, что если сделать путь к базовому каталогу недействительным. Скажите, что я называю базу Dir LALALALLALA. Например

mvn org.wildfly.plugins:wildfly-maven-plugin:1.1.0.Final:start -Dwildfly.server.type=STANDALONE  -Djboss-as.home=C:\dev\Widlfly10\wildfly-10.0.0.Final -Dwildfly.serverArgs="-Djboss.server.base.dir=LALLALALLA" -Dwildfly.serverConfig=standalone-empty.xml

Итак, у нас есть следующая ошибка, которая имеет большой смысл: сервер [INFO] STANDALONE запускается.

2017-06-20 17: 24: 30,417 ИНФОРМАЦИЯ [org.jboss.modules] (поток: основной) JBoss Modules версия 1.5.1.Final java.lang.IllegalStateException: WFLYSRV0122: Базовый каталог сервера не существует: LALLALALLA at org.jboss.as.server.ServerEnvironment.(ServerEnvironment.java:430) в org.jboss.as.server.Main.determineEnvironment(Main.java:297) в org.jboss.as.server.Main.main(Main.java:94) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

Таким образом, может показаться, что свойство base.dir так или иначе играет роль. Но в конечном итоге, когда папка для базового каталога является действительной, папка, которая в конечном итоге будет использоваться, всегда будет автономной папкой, а не папкой, указанной при обращении к плагину maven.

Искусственный файл pom.xml, используемый для вызова плагина, выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.artificialpom</groupId>
  <artifactId>wildfly-maven-plugin-runner</artifactId>
  <packaging>pom</packaging>
  <version>0.0.0-SNAPSHOT</version>
  <name>Wildfly Server Maven Plugin</name>
  <url>http://maven.apache.org</url>

  <dependencies>

  </dependencies>
  <build>
    <plugins>
      <plugin>
                <groupId>org.wildfly.plugins</groupId>
                <artifactId>wildfly-maven-plugin</artifactId>
                <version>1.2.0.Alpha5</version>
                <configuration>                         
                     <server-args>
                        <server-arg>-Djboss.server.base.dir=C:\dev\Widlfly10\wildfly-10.0.0.Final\standalone-cli</server-arg>                        
                    </server-args>
                </configuration>        
            </plugin>


    </plugins>
  </build>
</project>

0 ответов

Другие вопросы по тегам