我现在尝试使用maven插件启动wildfly服务器实例,而不是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-plugin,他似乎总是在默认的" 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 --- Jun 20,2017 3:31:03 PM org.xnio.Xnio 信息:XNIO版本3.3.1.Final 2017年6月20日下午3:31:03 org.xnio.nio.NioXnio信息:XNIO NIO实施版 3.3.1.Final Jun 20,2017 3:31:03 PM org.jboss.remoting3.EndpointImpl INFO:JBoss Remoting version 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 INFO [org.jboss.modules](主要)JBoss Modules版本1.5.1.Final java.lang.IllegalStateException:WFLYCTL0214:无法获取主文件: 独立-empty.xml。指定的文件必须相对于 配置目录:C:\ dev \ Widlfly10 \ wildfly-10。 0.0.Final \独立\配置 在org.jboss.as.controller.persistence.ConfigurationFile.determineMainFile(ConfigurationFile.java:311) 在org.jboss.as.controller.persistence.ConfigurationFile。(ConfigurationFile.java:172) 在org.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) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 在org.jboss.modules.Module.run(Module.java:329)
上述异常清楚地说明了他想在文件夹中找到配置文件: C:\ dev的\ Widlfly10 \ wildfly-10。 0.0.Final \ standalone \ configuration
而这我不想发生。 存在多个独立域,具有独立的日志文件夹。
有没有办法通过插件的其他配置属性,如" serverArgs"那可以解决这个问题吗?
或者这是插件限制吗?
可以在以下位置找到该插件的文档。 https://docs.jboss.org/wildfly/plugins/maven/latest/run-mojo.html
看起来maven插件实际上是bugy。 可以使用以下命令启动服务器:
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属性时,我们看到应用程序由插件运行,并带有以下commad:
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 \独立\日志 -Djboss.server.config.dir = C:\ dev的\ Widlfly10 \ wildfly-10.0.0.Final \独立\配置 -c = standalone-empty.xml -Djboss.server.base.dir = standalone-cli
有趣的是,如果使基本目录的路径无效。 假设我将基地目录命名为LALALALLALA。 E.g。
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 INFO [org.jboss.modules](主题:主要)JBoss 模块版本1.5.1.Final java.lang.IllegalStateException: WFLYSRV0122:服务器基目录不存在:LALLALALLA 在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) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 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>