The Source for Java Technology Collaboration
User: Password:



Stanley Ho's Blog

JSR Archives


OpenJDK Modules project: Early snapshot, video, and more

Posted by stanleyh on June 28, 2007 at 03:36 AM | Permalink | Comments (0)

Early snapshot of JSR 277 and JSR 294 implementation


We have just made an early snapshot of the JSR 277 (Java Module System) and JSR 294 (Improved Modularity Support in the Java Programming Language) implementation available through the Modules project on OpenJDK:

This snapshot currently covers the core features (see Andreas's blog) described in the updated specification in JSR 277, and the reflective APIs defined in JSR 294. If you are wondering how the module system works internally and want to take an early look or even contribute, I encourage you to check out the Modules project.

Besides the snapshot, we have also made other goodies available:

  • A Getting started guide that helps you understand the source structure of the project.
  • A few samples that show you how to create and use simple modules.
  • Documentations that describes some of the tools and functionalities available, including
    • how to execute modules from repositories through the Java launcher.
    • jam tool - think of it as the jar tool for the world of modules.
    • visibility policy - a mechanism that allows you to pick and choose which modules to use in a specific deployment when there could be zillion of modules available from the repositories.
  • A NetBeans project (requires NetBeans 6.0 M9 or later) for easy browsing and editing of the relevant source files from the IDE.

Obviously, this is just the beginning. You should expect the snapshot will be updated periodically and new goodies will be posted going forwards, as we evolve the implementation and add many functionalities in the coming months.

If you are interested in discussing the implementation in the Modules project, we have made two discussion lists available for the Java community to join:

If you want to discuss the Modules project with its developers, or how to use JSR 277 and JSR 294, be a subscriber today!


JSR 277 on Google Video


A few weeks ago, Michal Cierniak (Michal has been spending part of his 20% time as a contributing member in the expert group) and I presented the Java Module System (JSR 277) as part of the Advanced Topics in Programming Languages Series at Google. This presentation was based on the current design described in the updated JSR 277 specification, and the video is now available online here. You could also google the video directly using "JSR 277" from the Google Video site. If you want to learn more about the current design of JSR 277, this would be a good place to start!


More on updating the JSR 277 specification ...


Since the early draft was available, I have been discussing the feedbacks we received from the community with the expert group and incorporating their inputs into an updated specification. This updated specification has evolved significantly from the early draft, and this is also what the recent discussions in the EG mailing list based on. To help those of you who are observers of the EG mailing list to follow the discussions more easily, I am going to make the updated specification (and possibly other strawmans as well) publicly available soon. Stay tuned!



OpenJDK and Modules

Posted by stanleyh on May 08, 2007 at 07:16 PM | Permalink | Comments (2)

Unless you having been living in a cave, you should have heard that the OpenJDK is finally here today! :-)

I have been planning to make the JSR 277: Java Module System expert group mailing list publicly readable for quite some time now, but the infrastructure in jcp.org has been pretty unstable in the last two months to make this possible and usable. Now the OpenJDK web site is available and offers better infrastructure, I have made the observer mailing list available from there today. This mailing list is read-only, and you will be able to observe the EG traffic going forwards. If you are interested, be a subscriber today!

Another exciting news is that we have also created a Modules project on OpenJDK. This project will cover the reference implementation of the modularity specifications defined by JSR 277 and JSR 294 as well as the related work in the JDK. Although there aren't much information on this page at the point of this writing, the intention is to make the source code, discussion list, and other implementation-related documentations available soon.

Finally, I'll be presenting a session (TS-2318) on JSR 277 at JavaOne this Thursday 4:10pm-5:10pm. Alex and Andreas will also be presenting a session (TS-2401) on JSR 294 this Thursday 9:35am-10:35am. If you want to learn more about the latest development of JSR 277 and JSR 294, come to the sessions! I hope to see you all there.



JSR-277 Early Draft Specification

Posted by stanleyh on October 27, 2006 at 06:00 AM | Permalink | Comments (18)

The JSR-277 early draft specification has recently been published - this is what I've been spending significant amount of time during the past year, and I'm very glad that it is finally available to the Java community for review.

What is JSR-277?

JSR-277 (Java Module System) is an architecture for the development and deployment of module-based applications and libraries. Applications and libraries written as Java modules are easier to develop and deploy, with first-class modularity, packaging, and deployment support in the Java SE platform.

Continue Reading...



JSR 277: Java Module System

Posted by stanleyh on June 14, 2005 at 12:03 PM | Permalink | Comments (6)

Sun has recently submitted the Java Module System JSR to revise the Java packaging architecture. This is an area that has been long overdue for an overhaul, and the goal is to make it easier to bundle, distribute, and deploy Java applications and Java extensions (aka optional packages).

Continue Reading...





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds