带有 maven 的 Java EE 7 的 org.wildfly.bom 和 org.jboss.spec 之间的区别

Posted

技术标签:

【中文标题】带有 maven 的 Java EE 7 的 org.wildfly.bom 和 org.jboss.spec 之间的区别【英文标题】:Difference betwen org.wildfly.bom and org.jboss.spec for Java EE7 with maven 【发布时间】:2014-04-15 19:23:45 【问题描述】:

我正在一个新项目中工作,该项目将使用 Java EE 7 和 WildFly,但我仍然对应该使用哪些 maven 依赖项感到困惑。 我发现这两个组显然可以使用:org.wildfly.bom 和 org.jboss.spec

他们有以下预定义的工件可在项目中使用(在 https://repository.jboss.org/nexus/index.html#welcome 中搜索):

org.wildfly.bom:

jboss-javaee-7.0-with-all jboss-javaee-7.0-with-hibernate jboss-javaee-7.0-with-tools jboss-bom-parent jboss-javaee-7.0-with-transactions jboss-javaee-7.0-with-security jboss-javaee-7.0-with-resteasy jboss-javaee-7.0-with-infinispan jboss-javaee-7.0-with-hibernate3

org.jboss.spec:

jboss-javaee-all-7.0 jboss-javaee-web-7.0 jboss-javaee-7.0

我还意识到,我可以使用 org.jboss.spec 而不是 wildfly.bom 来查看依赖层次结构。所以,我的问题是有什么区别?,你建议哪一个?

【问题讨论】:

【参考方案1】:

org.wildfly.bom 包括 Hibernate、RESTEasy 等版本的依赖项以及它们在 WildFly 中使用的依赖项。因为如果您使用 Jackson2 注释,org.wildfly.bom:jboss-javaee-7.0-with-resteasy 应该包含正确版本的 Jackson2 依赖项。

org.jboss.spec 仅包括使用的 Java EE 7 API。

如果您没有使用 WildFly 特有的任何东西,那么我会使用 org.jboss.spec BOM。如果您使用的是服务器包含的特定内容,例如 Jackson2、Infinispan 等,那么我会使用 org.wildfly.bom

【讨论】:

谢谢,我什至意识到 wildfly.bom 包含 org.jboss.spec 依赖项。

以上是关于带有 maven 的 Java EE 7 的 org.wildfly.bom 和 org.jboss.spec 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java EE 7 中的 Servlet、JSP 和 JSTL 需要哪些 maven 依赖项?

学习笔记--Maven+Eclipse Java EE实例:加法计算器

Java EE 学习:IDEA + maven + spring 搭建 web- 用户管理

Java EE 学习:IDEA + maven + spring 搭建 web- 博客文章管理

在 Tomcat 7 中运行 Java EE 7 WebSockets

maven搭建java ee项目