InfoQ

News

OpenJDK Project Releases Java Module System (JSR 277) and Improved Modularity (JSR 294) EA Snapshot

Posted by Xandy Johnson on Jul 05, 2007 05:08 PM

Community
Java
Topics
JCP Standards
Tags
JSR 277,
JSR 294
The OpenJDK project has released an early access source code snapshot of implementations of the Java Module System (JSR 277) and Improved Modularity Support (JSR 294). JSR 277 addresses modularity from a deployment unit perspective, addressing distribution format, versioning, dependencies, repositories, runtime, and support tools necessary for modules. JSR 294 addresses modularity from a development perspective, introducing a new language construct, called "superpackages," for information hiding.

Currently implemented features include:

  • Implementation of the classes in java.module
  • Module initialization and class loading
  • LocalRepository and URLRepository core functionality
  • Launching modules using the java command
  • Prototype jam packaging tool

The project has a fair amount of documentation available:

For additional insight, a Google Tech Talk featuring Stanley Ho, JSR 277 specification lead, and Michal Ciernia, a contributing member in the expert group, details the current design.

Andreas Sterbenz offers these additional pertinent random notes regarding the snapshot:

  • This is a live development snapshot. It is not a beta. Nothing is complete and polished.
  • It is source code for developers. No binaries at this time.
  • Not much of the JSR 294 implementation is included, because not much exists so far. This will change.
  • The way to get the source is by downloading a ZIP file that includes all source code in the j2se workspace. That's why it is 68 MB, not because the Modules implementation is that large. We expect to get something more convenient - such as a Mercurial repository - before too long.
  • All the new code in the Modules project is under the GPLv2 (plus classpath exception).
  • Regression and unit tests are included.

No comments

Reply

Exclusive Content

Using Ruby Fibers for Async I/O: NeverBlock and Revactor

Ruby 1.9's Fibers and non-blocking I/O are getting more attention - we talked to Mohammad A. Ali of the NeverBlock project and Tony Arcieri of the Revactor project.

Agile and Beyond - The Power of Aspirational Teams

Tim Mackinnon talks about the aspirations behind the Agile principles and practices, the desire to become efficient, to write quality code which does not end up being thrown away.

Concurrency: Past and Present

Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, STM, concurrency, alternatives to threads, Erlang, Scala.

ActionScript 3 for Java Programmers

Often the hardest part of changing technologies is language syntax differences. This new article provides Java developers with a transition guide to Actionscript which forms the foundation of Flex.

Neal Ford On Programming Languages and Platforms

Neal Ford talks about having multiple languages running on one of the two major platforms: Java and .NET. He also presents the advantages offered by Ruby compared to static languages like Java or C#.

Future Directions for Agile

David Anderson talks about the history of Agile, the current status of it and his vision for the future. The role of Agile consists in finding ways to implement its principles.

Nick Sieger on JRuby

Nick Sieger talks about the future of JRuby, Java Integration, and his work on JEE deployment tools for Ruby on Rails like Warbler.

Rustan Leino and Mike Barnett on Spec#

Rustan Leino and Mike Barnett of Microsoft Research discuss the technology in Spec# and its futures.