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:
org.jboss.spec:
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?
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.
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.
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
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With