Andrew John Hughes writes: > On Wednesday 17 October 2007 16:27:38 you wrote: > > Andrew John Hughes writes: > > > On Wednesday 17 October 2007 15:14:44 you wrote: > > > > > > So presumably JAVA_HOME should be set? > > > > No, you shouldn't have to set it yourself, although you may choose to > > do so. Your Java VM should set the java.home system property to point > > to your Java installation directory. If running ecj doesn't find > > rt.jar it is a problem with your JRE's installation. > > Right, but this can be meaningless in some cases e.g. cacao and > jamvm may not be installed in the same place as the class library. > It only really works when everything is predetermined by some > overarching Java environment as with gcj. For example, with cacao > and classpath, I have to manually put something together to emulate > the JDK tree. So that is a correct installation. This isn't just for ecj: other java packages expect to be able to find rt.jar under java.home. It's not just ecj. You're fixing the bug so that ecj works, but you're not fixing the fundamental problem. This problem is the fact that Java apps assume that rt.jar is under java.home. > > > rt.jar seems to be in jre/lib so the above would fail presumably. > > > > I don't understand why you say this. If rt.jar is in > > <java.home>/jre/lib then it will succeed. > > > > I get that from the construction of the File object above which appends lib to > the value of java.home and not jre/lib. I don't understand. java.home is suppoed to point to a valid jre. Andrew.