Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jjohannes/java-module-system
Slides and links about Java Module System development with Gradle
https://github.com/jjohannes/java-module-system
Last synced: 3 days ago
JSON representation
Slides and links about Java Module System development with Gradle
- Host: GitHub
- URL: https://github.com/jjohannes/java-module-system
- Owner: jjohannes
- License: apache-2.0
- Created: 2023-01-31T10:59:47.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-09T15:22:50.000Z (about 1 month ago)
- Last Synced: 2024-12-09T16:34:10.915Z (about 1 month ago)
- Language: Java
- Homepage:
- Size: 29.5 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Java Module System (with Gradle)
This is a minimalistic project that shows a structured Java project setup utilising the
[Java Module System (JPMS)](https://docs.oracle.com/javase/specs/jls/se21/html/jls-7.html#jls-7.7)
to define a modular software structure with
[Gradle](https://github.com/gradle/gradle)
as the underlying build system.
To integrate these, the
[GradleX](https://gradlex.org/)
Java development plugins are used.With this setup, modularization and other build configuration concerns are separated.
With that accidental complexity in the module setup is avoided.[](docs/project-overview.png)
### Learn more
- Watch my 2024 talk [Boosting Developer Productivity Through Better Modularity](https://dpe.org/sessions/jendrik-johannes/boosting-developer-productivity-through-better-modularity)) (and [browse the slides](docs/developer-productivity-and-modularity-2024.pdf)) which uses this example
- Browse slides of my 2024 talk [Combining Java Modules and Gradle for elegant project structures](docs/java-modules-and-gradle-2024.pdf) which is based on this sample
- Browse slides of my 2023 talk [Modularizing Projects with the Java Module System and Gradle](docs/java-modules-and-gradle-2023.pdf) which gives more background on the modularity concepts in Java and Gradle
- Watch my YouTube playlist [Understanding Gradle – Java Modularity](https://www.youtube.com/playlist?list=PLWQK2ZdV4Yl092zlY7Dy1knCmi0jhTH3H) for even more information on modularity in Java and how it is handled in Gradle### Build the example
- Run `./gradlew check` to run tests and check integrity of the module setup
- To build a self-contained installable of the application, run:
- Run `./gradlew assembleWindows-2022`
- Run `./gradlew assembleMacos-13`
- Run `./gradlew assembleMacos-14`
- Run `./gradlew assembleUbuntu-22.04`The example also builds on GitHub.
The result can be explored here:
https://github.com/jjohannes/java-module-system/actions