#jpms — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #jpms, aggregated by home.social.
-
@ascheman @ASFMavenProject Great to see a post on Maven as well. We use #gradle but also have/had our good struggles with the #jpms module system. The real fun begins with "patching" third party libraries to fix split packages etc.
-
@ascheman @ASFMavenProject Great to see a post on Maven as well. We use #gradle but also have/had our good struggles with the #jpms module system. The real fun begins with "patching" third party libraries to fix split packages etc.
-
Java Recipe for Carefree dependency Administration
That's my take on making dependencies manageable without unnecessary complexity with the tool set we have at our disposal as Java developers.
📰 Article in Java aktuell (de): https://meine.doag.org/zeitschriften/id.230.java-aktuell-1-26
🎙️ Talk upcoming at JavaLand (de): https://meine.doag.org/events/javaland/2026/agenda/#agendaId.6927
🎞️ Video on each item https://www.youtube.com/watch?v=MUeJeiNRFFA&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD
📚 Website now with short description of each item and examples: https://javarca.de -
Java Recipe for Carefree dependency Administration
That's my take on making dependencies manageable without unnecessary complexity with the tool set we have at our disposal as Java developers.
📰 Article in Java aktuell (de): https://meine.doag.org/zeitschriften/id.230.java-aktuell-1-26
🎙️ Talk upcoming at JavaLand (de): https://meine.doag.org/events/javaland/2026/agenda/#agendaId.6927
🎞️ Video on each item https://www.youtube.com/watch?v=MUeJeiNRFFA&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD
📚 Website now with short description of each item and examples: https://javarca.de -
Updated all my "How to do things in Gradle" repositories:
🧶 https://github.com/jjohannes/idiomatic-gradle
🗂️ https://github.com/jjohannes/gradle-project-setup-howto
🔌 https://github.com/jjohannes/gradle-plugins-howto
🧩 https://github.com/jjohannes/javarcade -
Updated all my "How to do things in Gradle" repositories:
🧶 https://github.com/jjohannes/idiomatic-gradle
🗂️ https://github.com/jjohannes/gradle-project-setup-howto
🔌 https://github.com/jjohannes/gradle-plugins-howto
🧩 https://github.com/jjohannes/javarcade -
Happy to have the opportunity to talk about the 'Recipe for Carefree Dependency Administration' in Java projects - https://javarca.de - at JavaLand next year (March 10./11. 2026).
The full conference agenda is now online. Many interesting topics.
https://meine.doag.org/events/javaland/2026/agenda/#agendaId.6927
-
Happy to have the opportunity to talk about the 'Recipe for Carefree Dependency Administration' in Java projects - https://javarca.de - at JavaLand next year (March 10./11. 2026).
The full conference agenda is now online. Many interesting topics.
https://meine.doag.org/events/javaland/2026/agenda/#agendaId.6927
-
Update 3rd-party open-source modules to their latest release regularly to stay out of trouble. Establish a too-supported process for that in you team.
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration6️⃣ Update Dependencies
▶️ https://www.youtube.com/watch?v=kg8TpiYZvvU&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
Update 3rd-party open-source modules to their latest release regularly to stay out of trouble. Establish a too-supported process for that in you team.
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration6️⃣ Update Dependencies
▶️ https://www.youtube.com/watch?v=kg8TpiYZvvU&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
Don't let your well-structured module and dependency setup decay. Put sufficient checks in place to keep dependency definitions consistent with code changes.
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration5️⃣ Dependency Analysis
▶️ https://www.youtube.com/watch?v=i9Vf39vme_w&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
Don't let your well-structured module and dependency setup decay. Put sufficient checks in place to keep dependency definitions consistent with code changes.
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration5️⃣ Dependency Analysis
▶️ https://www.youtube.com/watch?v=i9Vf39vme_w&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
I have seen many build setups in the past years. Uninformed dependency conflict management is in the top three of "things messing up a Java build configuration".
Conflict handling is part of the game if you want to profit from reusing open-source libraries/frameworks.
Do better. The investment will be worth it.
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration4️⃣ Dealing with Conflicts
▶️ https://www.youtube.com/watch?v=2tJxmci4VCg&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
I have seen many build setups in the past years. Uninformed dependency conflict management is in the top three of "things messing up a Java build configuration".
Conflict handling is part of the game if you want to profit from reusing open-source libraries/frameworks.
Do better. The investment will be worth it.
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration4️⃣ Dealing with Conflicts
▶️ https://www.youtube.com/watch?v=2tJxmci4VCg&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
You use Gradle or Maven for 2 things:
1) manage 3rd party dependencies
2) building your software🚨 Don't mix! 🚨
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration3️⃣ Don't mix with build configuration
▶️ https://www.youtube.com/watch?v=CWgFD0bO6-8&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
You use Gradle or Maven for 2 things:
1) manage 3rd party dependencies
2) building your software🚨 Don't mix! 🚨
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration3️⃣ Don't mix with build configuration
▶️ https://www.youtube.com/watch?v=CWgFD0bO6-8&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration2️⃣ Version Management in a dedicated file
▶️ https://www.youtube.com/watch?v=0mpw4edHFrg&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration2️⃣ Version Management in a dedicated file
▶️ https://www.youtube.com/watch?v=0mpw4edHFrg&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration1️⃣ Define Dependencies between Modules in dedicated files
▶️ https://www.youtube.com/watch?v=rEA-QfhdSPo&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration1️⃣ Define Dependencies between Modules in dedicated files
▶️ https://www.youtube.com/watch?v=rEA-QfhdSPo&list=PLWQK2ZdV4Yl2bV3dTE7qxJUhjV8a1uriD -
This is not a new tool or idea, but a set of good practices explained in a tool-independent way. I want to make the topic more approachable to Java newcomers, since most info on this is currently quite confusing.
For the talk, I built a special presentation app that lets me switch tools and highlight the important bits.
I’d love to share this at more events in Europe — suggestions welcome! An online video series is planned for later this year.
-
This is not a new tool or idea, but a set of good practices explained in a tool-independent way. I want to make the topic more approachable to Java newcomers, since most info on this is currently quite confusing.
For the talk, I built a special presentation app that lets me switch tools and highlight the important bits.
I’d love to share this at more events in Europe — suggestions welcome! An online video series is planned for later this year.
-
How to do better Dependency Management in modern Java?
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration📣 I'll talk about it:
July 10th - Stuttgart @jugstuttgart
https://www.java-forum-stuttgart.de/vortraege/unbeschwertes-dependency-management-fuer-java-projekteSep 16th - Hannover @JavaForumNord
https://javaforumnord.de/2025/programm/#:~:text=Jendrik%20Johannes👾 If you clone, build, run the example (see: Explore > Readme) you get to play a little game. The high score is 3680, held by my son (and game tester)
-
How to do better Dependency Management in modern Java?
☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration📣 I'll talk about it:
July 10th - Stuttgart @jugstuttgart
https://www.java-forum-stuttgart.de/vortraege/unbeschwertes-dependency-management-fuer-java-projekteSep 16th - Hannover @JavaForumNord
https://javaforumnord.de/2025/programm/#:~:text=Jendrik%20Johannes👾 If you clone, build, run the example (see: Explore > Readme) you get to play a little game. The high score is 3680, held by my son (and game tester)
-
New #GradleX release 🎉
id("org.gradlex.java-module-packaging").version("1.1")
Combine it with other org.gradlex plugins for smooth dependency management and modern Java workflows to
build self-contained, installable Java apps with the Java Module System and jpackage. 🧩 📦 🚀Special thanks to @koppor and @jabref for collaborating closely on this — they now rely on GradleX plugins to streamline their packaging.
-
New #GradleX release 🎉
id("org.gradlex.java-module-packaging").version("1.1")
Combine it with other org.gradlex plugins for smooth dependency management and modern Java workflows to
build self-contained, installable Java apps with the Java Module System and jpackage. 🧩 📦 🚀Special thanks to @koppor and @jabref for collaborating closely on this — they now rely on GradleX plugins to streamline their packaging.
-
The GradleX java-module-dependencies plugin/extension is now also available for Maven!
The solution extracts dependencies from 🧩 module-info.java files so that you do not need to repeat them in build.gradle or pom.xml files.
🐘 Gradle Plugin: https://github.com/gradlex-org/java-module-dependencies
🦉 Maven Extension: https://github.com/gradlex-org/java-module-dependencies-maven-extension
-
The GradleX java-module-dependencies plugin/extension is now also available for Maven!
The solution extracts dependencies from 🧩 module-info.java files so that you do not need to repeat them in build.gradle or pom.xml files.
🐘 Gradle Plugin: https://github.com/gradlex-org/java-module-dependencies
🦉 Maven Extension: https://github.com/gradlex-org/java-module-dependencies-maven-extension
-
@travisfw sorry for the shameless self promotion. We are trying to fix this. 😄
-
@travisfw sorry for the shameless self promotion. We are trying to fix this. 😄
-
On Wednesday (19. Feb) I speak about Dependency Management and Modularization in #Java projects with #Gradle and the Java Module System #JPMS.
The talk takes place here in #Hamburg at the #TechnikerKrankenkasse headquarters.
https://www.meetup.com/devtalk-tk/events/305513967/
The topic is something I work on/with frequently and I spoke about this before. You can find a collection of materials and links here:
-
On Wednesday (19. Feb) I speak about Dependency Management and Modularization in #Java projects with #Gradle and the Java Module System #JPMS.
The talk takes place here in #Hamburg at the #TechnikerKrankenkasse headquarters.
https://www.meetup.com/devtalk-tk/events/305513967/
The topic is something I work on/with frequently and I spoke about this before. You can find a collection of materials and links here:
-
You can now watch the recording of my #DPESummit talk: Boosting Developer Productivity Through Better Modularity
Thoughts on: Why do we have too much accidental complexity in the modularity setup of many software projects? How can that be improved in the Java ecosystem?
🎥 Video: https://dpe.org/sessions/jendrik-johannes/boosting-developer-productivity-through-better-modularity
🗂️ Slides/Example: https://github.com/jjohannes/java-module-system
-
You can now watch the recording of my #DPESummit talk: Boosting Developer Productivity Through Better Modularity
Thoughts on: Why do we have too much accidental complexity in the modularity setup of many software projects? How can that be improved in the Java ecosystem?
🎥 Video: https://dpe.org/sessions/jendrik-johannes/boosting-developer-productivity-through-better-modularity
🗂️ Slides/Example: https://github.com/jjohannes/java-module-system
-
#Gradle November newsletter:
https://newsletter.gradle.org/2024/11
Featuring the latest #GradleX plugin release for #Java Module (#JPMS) development.
https://github.com/orgs/gradlex-org/repositories?q=java-modules
-
#Gradle November newsletter:
https://newsletter.gradle.org/2024/11
Featuring the latest #GradleX plugin release for #Java Module (#JPMS) development.
https://github.com/orgs/gradlex-org/repositories?q=java-modules
-
📢 #jMolecules 2023.2 and 2025.0 RC1 released! The former ships a fix for the #Hexagonal architecture verification and improvements for annotation retention. The latter #JPMS module descriptors and a baseline upgrade to Java 17. Grab 'em while they're hot! 🔥☕️⚗️
- https://github.com/xmolecules/jmolecules-bom/releases/tag/2023.2.0
- https://github.com/xmolecules/jmolecules-bom/releases/tag/2025.0.0-RC1 -
📢 #jMolecules 2023.2 and 2025.0 RC1 released! The former ships a fix for the #Hexagonal architecture verification and improvements for annotation retention. The latter #JPMS module descriptors and a baseline upgrade to Java 17. Grab 'em while they're hot! 🔥☕️⚗️
- https://github.com/xmolecules/jmolecules-bom/releases/tag/2023.2.0
- https://github.com/xmolecules/jmolecules-bom/releases/tag/2025.0.0-RC1 -
⭐️ new release ⭐️
𝗼𝗿𝗴.𝗴𝗿𝗮𝗱𝗹𝗲𝘅.𝗷𝗮𝘃𝗮-𝗺𝗼𝗱𝘂𝗹𝗲-𝗽𝗮𝗰𝗸𝗮𝗴𝗶𝗻𝗴 version 1.0 Gradle plugin
Another GradleX plugin for Java Module (JPMS) development.
Features:
🔧 Define targets (Operating Systems, Architectures) to build you application for
📦 Build ready-to-ship installable packages (exe, dmg, deb, ...) directly with Gradle (uses jpackage under the hood)🧩 Plugin
https://github.com/gradlex-org/java-module-packaging📚 Example project (includes multi-os GitHub actions setup)
https://github.com/jjohannes/java-module-system -
⭐️ new release ⭐️
𝗼𝗿𝗴.𝗴𝗿𝗮𝗱𝗹𝗲𝘅.𝗷𝗮𝘃𝗮-𝗺𝗼𝗱𝘂𝗹𝗲-𝗽𝗮𝗰𝗸𝗮𝗴𝗶𝗻𝗴 version 1.0 Gradle plugin
Another GradleX plugin for Java Module (JPMS) development.
Features:
🔧 Define targets (Operating Systems, Architectures) to build you application for
📦 Build ready-to-ship installable packages (exe, dmg, deb, ...) directly with Gradle (uses jpackage under the hood)🧩 Plugin
https://github.com/gradlex-org/java-module-packaging📚 Example project (includes multi-os GitHub actions setup)
https://github.com/jjohannes/java-module-system -
With Java 23 (released today) you can import all classes of a Module in one statement. E.g.:
import module java.base;
I wonder if this will lead to more awareness of the Java Module System (JPMS).
With Gradle, using our GradleX plugins, you can create quite neat JPMS-based project setups nowadays.
Examples:
- https://github.com/jjohannes/java-module-system
- https://github.com/jjohannes/gradle-project-setup-howto/tree/java_module_systemPlaylists on the topic: https://www.youtube.com/playlist?list=PLWQK2ZdV4Yl092zlY7Dy1knCmi0jhTH3H
-
With Java 23 (released today) you can import all classes of a Module in one statement. E.g.:
import module java.base;
I wonder if this will lead to more awareness of the Java Module System (JPMS).
With Gradle, using our GradleX plugins, you can create quite neat JPMS-based project setups nowadays.
Examples:
- https://github.com/jjohannes/java-module-system
- https://github.com/jjohannes/gradle-project-setup-howto/tree/java_module_systemPlaylists on the topic: https://www.youtube.com/playlist?list=PLWQK2ZdV4Yl092zlY7Dy1knCmi0jhTH3H
-
I did not create much new content in the past months. But I constantly do open source work: mainly on improving usability of the Java Module System with Gradle and in general better Module Management with Gradle.
The topic can be confusing as Java is modular since ever, but introduced the Java Module System only in newer versions.
If you want to learn more about this, you may enjoy my video series on the topic: https://www.youtube.com/playlist?list=PLWQK2ZdV4Yl092zlY7Dy1knCmi0jhTH3H
-
I did not create much new content in the past months. But I constantly do open source work: mainly on improving usability of the Java Module System with Gradle and in general better Module Management with Gradle.
The topic can be confusing as Java is modular since ever, but introduced the Java Module System only in newer versions.
If you want to learn more about this, you may enjoy my video series on the topic: https://www.youtube.com/playlist?list=PLWQK2ZdV4Yl092zlY7Dy1knCmi0jhTH3H
-
Had a great time at Java Forum Stuttgart yesterday. I got very good questions and feedback on my talk on the Java Module System.
For the talk, I prepared an example in which you define the relationships between your modules purely in Java: No more build.gradle or pom.xml.
This allows developers to focus on the relationships between modules in daily development without other build system configurations getting in the way.
-
Had a great time at Java Forum Stuttgart yesterday. I got very good questions and feedback on my talk on the Java Module System.
For the talk, I prepared an example in which you define the relationships between your modules purely in Java: No more build.gradle or pom.xml.
This allows developers to focus on the relationships between modules in daily development without other build system configurations getting in the way.
-
Up early for the train to Stuttgart. Will speak at JFS on Wednesday about modularizing Java Projects. Talking about causes for accidental complexity and proposing solutions. Covering our GradleX plugins - https://gradlex.org - and what we do in the Hedera Services project - https://github.com/hashgraph/hedera-services
- https://www.java-forum-stuttgart.de/vortraege/das-java-modul-system-klug-mit-gradle-kombinieren
- https://github.com/jjohannes/java-module-system -
Up early for the train to Stuttgart. Will speak at JFS on Wednesday about modularizing Java Projects. Talking about causes for accidental complexity and proposing solutions. Covering our GradleX plugins - https://gradlex.org - and what we do in the Hedera Services project - https://github.com/hashgraph/hedera-services
- https://www.java-forum-stuttgart.de/vortraege/das-java-modul-system-klug-mit-gradle-kombinieren
- https://github.com/jjohannes/java-module-system -
Day #3 of #jsail2024 starting with a #Quarkus session. Probably supply chain security and #JPMS later. It's going to be a very interesting day again. #jsail #java
-
Day #3 of #jsail2024 starting with a #Quarkus session. Probably supply chain security and #JPMS later. It's going to be a very interesting day again. #jsail #java
-
Checkout this recording from the #Java #jug Toronto: "Modularizing the Unmodularizable" by Ihor Herasymenko (github.com/iherasymenko) about how to overcome challenges when using the Java Module System #jpms.
Ihor made many contributions to our GradleX 'extra-java-module-info' #gradle plugin and also talks about why and how to use the plugin.
-
Checkout this recording from the #Java #jug Toronto: "Modularizing the Unmodularizable" by Ihor Herasymenko (github.com/iherasymenko) about how to overcome challenges when using the Java Module System #jpms.
Ihor made many contributions to our GradleX 'extra-java-module-info' #gradle plugin and also talks about why and how to use the plugin.
-
GradleX is featured in the March #gradle newsletter:
The latest release of the GradleX Extra Java Module Info plugin supports automatically generating complete module-info.class files for libraries that do not yet provide one. The content of the module-info.class is computed from the library's metadata.
New versions of the Java Module Dependencies and Java Module Testing plugins are also available.
https://github.com/gradlex-org/extra-java-module-info
https://github.com/gradlex-org/java-module-dependencies
https://github.com/gradlex-org/java-module-testing -
GradleX is featured in the March #gradle newsletter:
The latest release of the GradleX Extra Java Module Info plugin supports automatically generating complete module-info.class files for libraries that do not yet provide one. The content of the module-info.class is computed from the library's metadata.
New versions of the Java Module Dependencies and Java Module Testing plugins are also available.
https://github.com/gradlex-org/extra-java-module-info
https://github.com/gradlex-org/java-module-dependencies
https://github.com/gradlex-org/java-module-testing -
After god knows _how_ long, I've finally, _finally_ been able to run a #JUnit5 test using only module paths. No class paths anywhere. Everything, as far as I can understand, is properly modularized.
I'm not convinced everything is 100% right. But at least I got _something_ running.
I resorted to javac and java commands in shell scripts. Getting this running in #Maven and #VisualStudioCode is a whole other story. I'm not sure I can.
-
(in German)
In der neuen Ausgabe (05/2023) der Java aktuell geht es um Build Tools. Da darf ein Artikel von mir natürlich nicht fehlen. Unter der Überschrift "Anwendungen mit Java-Modulen und Gradle elegant strukturieren" schreibe ich darüber, wie ihr die Stärken des Java-Modul-Systems und Gradle kombiniert.
Die digitale Fassung des Magazins gibt es hier kostenlos:
https://shop.doag.org/zeitschriften/id.206.java-aktuell-05-2023-build-tools