spring-projects / spring-projects/spring-framework

Declare Spring modules with JDK 9 module metadata [SPR-13501]

Open
#18,079 46 comments 21 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: enhancement
Dominant language
Java
Stars
60.2k
Forks
38.8k
Avg merge
5d 2h
Merged PRs (30d)
27

Description

Juergen Hoeller opened SPR-13501 and commented

JDK 9's Jigsaw initiative aims to allow for module metadata (module-info.java) that can be added to framework and library jars while still keeping them compatible with JDK 8. Let's do this for Spring Framework 5.0's modules as far as feasible. However, we might not be able to express our optional dependency arrangement that way, in which case we might have to resort to an "automatic modules" approach for the more modest purposes of #18289.


Issue Links:

  • #18289 Stable module names for Spring Framework jars on JDK 9 module path ("depends on")
  • #17778 Upgrade core framework build to JDK 11 ("depends on")
  • #19148 Document Spring recommendations/restrictions for Java 9 module setups

1 votes, 12 watchers

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the issue's discussion and linked dependencies #18289, #17778, and #19148, then review how Spring Framework 5.0 modules are currently packaged. Done means declaring feasible module-info.java metadata while retaining JDK 8 compatibility and accounting for optional dependencies or the automatic-modules fallback described here.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.