Simplified Builds with Never-Ending Support for Spring
Simplifying Your NES for Spring Migration with a Seamless Group ID Update
.png)
HeroDevs is committed to making the transition to our NES for Spring solution as seamless as possible. That’s why we’re excited to announce a major update: all NES for Spring artifacts will now use the org.springframework group ID, moving away from the previously used com.herodevs.nes.springframework. This change significantly simplifies the migration from open source Spring libraries to secure replacements from HeroDevs.
A foundational principle of all our NES products is that they are a true drop-in replacement for the end-of-life projects we support. This means minimal friction to integrate our NES products into your application and library builds. While our initial release aimed to achieve this, we recognize some challenges introduced by customizing this group ID.
Why the Change to org.springframework Matters
The initial release grouped NES for Spring artifacts under com.herodevs.nes.springframework to distinguish it from official Spring releases. While this approach had its merits, it introduced some complexities:
- Complex Dependency Trees: Spring’s widespread popularity means that many open-source projects transitively pull in Spring JARs. It’s not uncommon for an application’s build to include varying versions of Spring modules in the dependency tree. Normally, this is a classic problem in Java that both Maven and Gradle solve.
- Dependency Resolution Challenges: Both Maven and Gradle are designed to manage complex dependency trees and ensure consistent, reproducible builds. However, builds that include artifacts from com.herodevs.nes.springframeworkand org.springframework prevent these tools from resolving dependencies correctly. This often leads to duplicate JARs on the classpath, potentially with mismatched versions - a recipe for build and runtime errors.
It's important to note that HeroDevs solutions will not be published to Maven Central. Our customers can obtain the secured NES for Spring and other solutions by connecting with our private registry. By releasing NES for Spring under the org.springframework group ID, we eliminate the above dependency resolution challenges. Maven and Gradle will now treat NES for Spring artifacts as seamless replacements for their original Spring counterparts, ensuring consistent builds, simplified integration, and an improved developer experience.
How This Affects Your Builds
For most customers, this update means updating your pom.xml or build.gradle field to reference the corresponding org.springframework group ID and latest version. Existing functionality and API compatibility remain unchanged. All dependencies have been released with a new version which are detailed in our NES for Spring documentation.
Next Steps
- Update Dependencies: Check the release notes for the latest version and dependency upgrades
- Existing customers that have already started using NES for Spring in their builds should replace any references to com.herodevs.nes.springframework with org.springframework in your project configuration files and update the corresponding version.
- New customers should follow the install guides to get started with NES for Spring in their application/library builds
- Run Dependency Analysis: Use tools like the Maven Dependency Plugin or Gradle’s dependency insights to ensure there are no version mismatches.
- Test Your Build: Perform a clean build and run your tests to verify compatibility
- Leverage NES Support: If you encounter any issues, HeroDevs is here to help. Our team can guide you through the process to ensure your build remains stable
Conclusion
This update emphasizes our commitment to providing seamless, secure, and reliable solutions for maintaining end-of-life open-source software. By aligning NES for Spring with the org.springframework group ID, we’re making it even easier for developers to secure and maintain their applications without compromising build quality or developer experience.
While upgrading to the latest Spring Boot versions should be the ultimate goal, HeroDevs NES provides the time and flexibility you need to make that transition successfully. Reach out to learn more about our end-of-life solutions.