Skip to main content

I Will Not Be Broken

Posted by editor on November 29, 2007 at 8:20 AM PST

The nitty-gritty on buildng the JDK

After a long hiatus, The Open Road, our series on the open-source development of the next version on Java, continues today with a very practical question: just how the heck do you build this thing?

The answer, for now anyways, is "with a lot of patience and effort." Author and Café au Lait founder Elliotte Rusty Harold took a whack at checking out and building the JDK from source on Ubuntu 7.10 Gutsy Gibbon, and found it to be an all-day process. He shares a remarkably detailed, yet fun-to-read, step-by-step narrative of this effort in our Feature Article, The Open Road: Building the JDK.

It is possible to build the JDK. It just takes a day or two the first time you do it, and familiarity with Unix and C libraries doesn't hurt. Hopefully it will take you less time than it took me.

By working through missing libraries, missing tools, underdocumented environment variables, and checkout hiccups, Elliotte may just save you a few hours should you try to build the JDK on your box. Of course, he also points out the options of grabbing a pre-built binary bundle, or the better-but-not-perfect option of building with NetBeans.

We'll also be putting updates about the status and progress of JDK project atop each entry of the series, and we hope that you'll be encouraged to check out the source or a pre-built binary and put it to the test on your own system. Future installments of the series will check out new APIs, language changes, and VM features in Java 7, and if there are topics you'd like to see addressed in this first-look series, please let us know.

In Java Today,

JDJ's James L. Weaver has posted a brief introduction to Closures in Compiled JavaFX Script. "In a nutshell, JavaFX Script closures provide the ability to define a function within another function with the inner function having access to the local variables of the outer function. This feature is enabled by the fact that in compiled JavaFX Script, functions are first-class objects, which provides the ability to assign functions to variables and to pass functions as arguments to other functions."

Pushing GlassFish v2 (or Sun Java System Application Server 9.1) beyond what its GUI and command-line tools can support? The next level of enterprise-deployment tooling for GlassFish is described in a new SDN article, Provisioning Sun Java System Application Server With N1SPS. "Sun N1 Service Provisioning System (N1SPS), with its extensible plug-in architecture, has been designed for just such deployments. The N1SPS Plug-In for Sun Java System Application Server makes it easy to install, configure, and manage application server installations across your enterprise."

Artima summarizes a set of recent articles by Don Haderle and Michael Stonebraker on Column-Oriented Databases. "Current databases are mostly oriented around database rows, a design that originated with the constraints present at the time the first relational databases were implemented. [...] In a recent set of blog posts, Haderle and Stonebraker discuss the constraints of the original relational database implementations, and how changes in the cost of processing can usher in column-oriented databases more suitable to analyze rich data types."

In today's Weblogs.
Bruce Chapman offers a novel idea for
Closures and Multiple Return Values.
"In javaposse 150 the guys were talking about something and veered off on a tangent talking about multiple return values and tuples and such like. Next up they talked about the closures JSR. That sparked a thought that maybe we could transform the multiple return values problem in order to solve it using closures."

Terrence Barr notes this week's announcement that Verizon will open its network to third-party applications and devices, and surmises that
The tide is turning.
"A while back I blogged about the importance of open access to technology, in particular to network infrastructure, protocols, and bandwidth ("Open technologies need open access"). Well, it seems like the tide is finally turning."

Finally, in
SwingX in central maven repository, Jan Haderka reports that
"SwingX version 0.9 and 0.9.1 have been uploaded to central maven repository."

In today's Forums,
Kleopatra covers a missing Swing feature in
Re: The Highlighters and MetaData Problem.
"You are completely on track, IMO: the notion of metaData is missing everywhere. We had it three years ago on the dataModel level but it was chucked because someone didn't like it. It's needed somewhere, we only have to be careful to keep aligned with beansbinding (where the validators f.i. are on the level of the binding)"

Speaking of Swing, kschaefe asks for leniency in enforcing minimum sizes, in
Re: JXMultiSPlitPane and minimum component size.
"When you address this issue, please do not fall into the trap that core did with JSplitPane. The minimumSize of a component should not affect where I am able to place the divider. In other words, do not force the user to setMinimumSize(new Dimension()) to allow the divider to completely hide a section. While I believe that there is a need to respect minimum sizes in most cases, do not lock the user into respecting the minimum size all the time. At the simplest level, you could enable a general flag for respecting the minimum size. At the possibly best level (in my short time thinking about the problem), you could have each node contain a property the enables or disables minimum size checking."

jabberw wonders about implementation details in
JVM runtime java.lang.instrument.ClassFileTransformer registration.
"A question regarding ClassFileTransformer registration after VM startup, without using of the -javaagent flag. Package jdocs specifies special Manifest's tag, Agent-Class which points to agent class. What I didn't udnerstand is: how/when JVM knows about new agent? Does it scan jars periodically, or fires on addURL() of system classloder? Or, may be, I must notify the JVM somehow?"

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

The nitty-gritty on buildng the JDK