使用 Maven 插件 wildfly-maven-plugin 在部署时配置 Wildfly Naming 子系统

Configure Wildfly Naming subsytem on deploy with Maven plugin wildfly-maven-plugin

我想向命名子系统添加一个资源,以便我可以通过@Resource 批注将其拉入我的 EJB。理想情况下,必须在构建时为该特定环境添加资源(一旦我开始工作,我将在 Maven 中设置 settings.xml 中设置的变量)。我目前正在使用 wildfly-maven-plugin,但无法在任何地方找到将 JNDI 引用添加到字符串资源的位置。它通常在我 运行 mvn wildfly:deploy with:

时失败
[ERROR] Failed to execute goal org.wildfly.plugins:wildfly-maven-plugin:1.1.0.Alpha5:add-resource (add_jndi) on project Project: Could not execute goal add-resource. Reason: Operation failed: "JBAS014807: Management resource '[
[ERROR] (\"subsystem\" => \"naming\"),
[ERROR] (\"binding\" => \"java:global/Project/key\")
[ERROR] ]' not found"
[ERROR] -> [Help 1]

我的 pom.xml 看起来如下:

...
<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>${wildfly-maven-plugin.version}</version>
    <inherited>false</inherited>
    <configuration>
        <skip>false</skip>
    </configuration>
    <executions>
        <execution>
            <id>add_jndi</id>
            <phase>package</phase>
            <goals>
                <goal>add-resource</goal>
            </goals>
            <configuration>
                <address>subsystem=naming,binding=java:global/Project/key,binding-type=simple</address>
                <resources>
                    <resource>
                        <properties>
                            <name>key</name>
                            <type>java.lang.String</type>
                            <value>value</value>
                        </properties>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>
...

这是可能的,并记录在案 CLI for wildfly

我目前正在使用 Wildfly 8.2、Java JDK 8 和 Maven 3。

A 执行命令可以配置为 运行 CLI 命令。 executeCommands 标签可以在插件配置中配置。例如,请访问 this link