我们编写一个部署到JBoss AS的应用程序。我们目前有两个客户,一个运行JBoss EAP 6.1和另一个JBoss AS 7.1.1。我将我们的构建系统从Ant转换为Maven。我的问题有两个部分。如何使用Maven来定位不同版本的JBoss
什么是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代码?
我该如何定位两个不同版本的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本身是否提供了一些我没有看到的更好的解决方案?