2014-06-30 134 views
3

我有一个部署到WildFly 8.1.0-Final的Java EE 7项目。我使用由Maven管理的独立Wildfly服务器(即每个mvn clean上的干净配置)进行测试,远程使用“正常”服务器。插件配置的Maven配置文件中的嵌套属性

为了使用maven-wildfly-plugin(1.0.2.Final)部署到两台服务器,我配置了两个Maven配置文件:wildfly-local,它定义了本地用户名,密码和端口号;和wildfly-remote,它定义了远程用户名,密码和端口号。

但是,远程服务器在域模式下运行,而本地服务器不运行。因此,我需要定义与服务器组域配置为远程服务器,像这样:

... 
<plugin> 
    <artifactId>wildfly-maven-plugin</artifactId> 

    <configuration> 
    <hostname>${wildfly-hostname}</hostname> 
    <username>${wildfly-username}</username> 
    <password>${wildfly-password}</password> 
    <domain> 
     <server-groups> 
     <server-group>${wildfly-server-group}</server-group> 
     </server-groups> 
    </domain> 
    </configuration> 
    ... 
</plugin> 
... 

${wildfly-hostname}和三个其他proiperties是在配置文件中定义,以及该构造的作品。但是,独立的非“域模式”本地测试服务器不允许部署完全定义服务器组的应用程序。

我首先想到的是在远程配置文件定义一个嵌套属性,像这样:

<profile> 
    <id>wildfly-remote</id> 
    <properties> 
    ... 
    <wildfly-domain> 
     <server-groups> 
     <server-group>*my server group name*</server-group> 
     </server-groups> 
    </wildfly-domain> 
    ... 
    </properties> 
</profile> 

...在本地配置一个简单的属性,像这样:

<profile> 
    <id>wildfly-local</id> 
    <properties> 
    <wildfly-domain/> 
    </properties> 
</profile> 

Maven不喜欢这样,因为它无法解析预期文本的标签。

是否有任何方法来定义嵌套在一个Maven配置文件中的“资源”,但在另一个Maven配置文件中是否平坦?

回答

2

属性只是简单的键 - 值对,该值不能被解析为标记。

将整个配置移到配置文件中。

+0

这样做。谢谢! –