2014-02-07 21 views
0

我们编写一个部署到JBoss AS的应用程序。我们目前有两个客户,一个运行JBoss EAP 6.1和另一个JBoss AS 7.1.1。我将我们的构建系统从Ant转换为Maven。我的问题有两个部分。如何使用Maven来定位不同版本的JBoss

  1. 什么是Maven的指定JBoss的依赖关系的最佳途径?

    我想是这样的:

    <dependency> 
        <groupId>javax</groupId> 
        <artifactId>javaee-api</artifactId> 
        <version>6.0</version> 
        <scope>provided</scope> 
    </dependency> 
    

    <dependency> 
        <groupId>org.jboss.as</groupId> 
        <artifactId>jboss-as-ee</artifactId> 
        <version>7.1.1.Final</version> 
        <scope>provided</scope> 
    </dependency> 
    

    但这些并不包括所有必要的传递依赖于编译。我们有一些与JBoss相关的代码(我可能不是最佳实践)。在Ant中,我们在编译时在类路径中包含特定的JBoss JAR(jboss-common-core-xxx.jar,jboss-ejb3-api_3.1_spec-xxx.jar等)。有没有一个全面的依赖,或者我坚持指定个人依赖关系,直到我们使用标准的EE代码?

  2. 我该如何定位两个不同版本的JBoss?

    JBoss在EAP 6.1和AS 7.1.1之间提供的库的版本有些不同。例如,AS 7.1.1提供了jboss-jms-api_1.1_spec-1.0.0.Final.jar,而EAP 6.1提供了jboss-jms-api_1.1_spec-1.0.1.Final-redhat-2.jar。

    到目前为止,我一直在使用Maven型材

    <profiles> 
        <profile> 
         <id>jboss-as-7.1.1.Final</id> 
         <dependencies> 
          ... 
         </dependencies> 
        </profile> 
        <profile> 
         <id>jboss-eap-6.1</id> 
         <dependencies> 
          ... 
         </dependencies> 
        </profile> 
    </profiles> 
    

我不是JBoss的专家,虽然。 JBoss本身是否提供了一些我没有看到的更好的解决方案?

回答

相关问题