Java News from Friday, April 29, 2005

Apple is releasing Mac OS X 10.4 Tiger today, officially at 6:00 P.M. but some pre-orders started arriving a week ago. To the annoyance of Java developers everywhere it still only supports Java 1.4.2_07. There's no Tiger on Tiger. :-( I was thinking about grabbing a copy anyway, but first I'm going to have to figure out how to eject this damned James Brooks movie that's stuck in my DVD drive. It appears to be physically wedged in their somehow. All the usual tricks like booting into open firmware are doing bupkus. There doesn't seem to be a manual eject pinhole anywhere I can find. Next step: taking the drive out of the computer and banging on it with a hammer. Oh well. I was looking for an excuse to upgrade my drive to a dual-layer burner anyway.

However, there does seem to be a bit of good news. Although Tiger is not bundled with Tiger, Apple has just posted Java 5.0 for the Mac on their web site. It appears that only Mac OS X 10.4 (Tiger) is supported. I don't think this will run on Panther. OK. Now I've got to get serious about getting that DVD out of the drive.

Speaking of Tigers, Sun has posted the third update release for Java 5.0 Tiger with 79 assorted bug fixes. As usual it's avaialble for Solaris, Windows, and Linux. As Sun speeds up its release cycle and Apple slows its down, I suspect Mac users will get this release just around the time we start to dine on talking cows that want to be eaten.

The Apache Project has released version 1.6.3 of Ant, the popular open source build tool. Version 1.6.3 is a bug fix release. However it still hasn't fixed the bug that makes the test target in XOM die, even though it runs just fine in 1.5.4. The error message claims:

Could not create task or type of type: junit.

Ant could not find the task or a class this task relies upon.

This is then followed by a lot of obnoxious verbiage about what could possibly be going wrong (half of which hasn't been true for at least two major releases) and a warning not to bother the Ant developers with this because they're sick of hearing from lusers like me. (Well, the message isn't quite that obnoxious, but it's close.)

Word to the Ant team: WAKE UP! You keep getting bug reports about the junit task because it's buggy. At absolute best, it's confusing and poorly designed. That's a bug. You need to fix it. But even allowing for the poor design and the user errors that causes, there are still some cases here where the junit task simply does not do what it claims to do despite the user doing exactly what they're supposed to do. I suspect ClassLoader issues, possibly involving multiple copies of JUnit, one in the user's CLASSPATH and one in Ant's lib directory. Ant does some really skanky things with multiple class loaders, and I know that's hard to debug and harder to test, but it needs to be done anyway. As a Google search on this error message will prove, many users are tripping all over the bugs in the junit task; and have been for a long time now. The first step to recovery is admitting you have a problem.