Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference betwen org.wildfly.bom and org.jboss.spec for Java EE7 with maven

I am working in a new project that is going to use Java EE 7 with WildFly, but I am still confused about which maven dependencies I should use. I have found these two groups that apparently I can use: org.wildfly.bom and org.jboss.spec

They have the following predefined artifact to use in the projects (searched in 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

Also I have realized that that I can see dependency Hierarchy using org.jboss.spec but not with wildfly.bom. So, my question is what is the difference?, which one do you suggest?

like image 797
jonathan Avatar asked Mar 11 '14 22:03

jonathan


People also ask

What is WildFly bom?

The WildFly BOMs project provides Maven BOM files, which includes dependency management compatible with (same version) WildFly. These files manage the version of the dependencies you may need to build, test or debug your project, ensuring you always get a compatible stack.

Does WildFly support Java 11?

WildFly versions up to 26 should run on the most recent long-term support release (LTS), i.e. on Java 8 and 11. On a balance, due to the amount of tests, it is recommended to use JDK 11. WildFly version 27 drops support for Java 8. So you can mainly choose between Java 11 and Java 17.


1 Answers

The org.wildfly.bom includes dependencies for the versions of Hibernate, RESTEasy, etc. as well as their dependencies that are used in WildFly. For if you use Jackson2 annotations the org.wildfly.bom:jboss-javaee-7.0-with-resteasy should include the correct version of the Jackson2 dependency.

The org.jboss.spec only include the Java EE 7 API's used.

If you're not using anything specific to WildFly then I would use the org.jboss.spec BOM. If you're using something specific that the server includes, like Jackson2, Infinispan, etc., then I'd use the org.wildfly.bom.

like image 89
James R. Perkins Avatar answered Oct 21 '22 20:10

James R. Perkins