[ Another late reply from me. ] My gut reaction is that this is the right thing.
Currently, I think most of us would agree, Debian packaging of Java software is not that successful. I think this is in part due to the variety of available implementations of various portions of the various Java platforms. Unless there is a prospect for this situation to improve in the near future, Ben's registry is not overkill, it is pretty much what the problem requires. There are two ways I could imagine the situation improving: 1. The Debian Java world converges on a few standards. This is a nice thought, but we are a good ways off. As Per Bothner said in a previous thread, "There is no 'standard' set of standard libraries." Unless I misunderstand him, he meant that the labels "Java 1" and "Java 2" aren't very relevant, given that the free implementations are far from either. 2. The Debian Java world converges on one or two implementations. This would also be nice, but also hard to imagine. We would presumably want to favor a free implementation, but there is no clear front-runner among these, they all have differing capabilities, and the non-free implementations offer considerable practical advantages over all of them. So while I agree it would be ideal and should be a goal to just run "/usr/bin/java MyClass", I doubt it will be feasible soon. Assuming that the proliferation of unequal implementations will continue, at least we must cope by parameterizing them. The problem is, I don't think I know--and I'm not sure any of us knows--what the right parameterization is. I think we collectively need more experience with the incompatibilities that actually affect programs we want in Debian. We can all cite one or two examples, but does anyone have a wider perspective? (I ask this hoping that someone will step up and offer one.) As an obvious example, Ben's RFC nowhere mentioned AWT support. While this is usually supplied as part of a runtime distribution, it could also be an add-on using an extension interface such as CNI, KNI, or JNI, or even as pure Java classes implementing the X protocol. So, how is a program to know whether AWT support is available, and if so which JVM to use and how to ensure that the AWT libraries are found? Of course, this doesn't mean that we shouldn't give Ben's proposal a shot as a first try. Andrew