Menu

#90 java.class.path system property incorrect

open
CORE (51)
5
2007-12-20
2007-12-20
No

(1) EMMA Version: emma-2.0.5312
(2) Java Version:
~/Desktop$ java -version
java version "1.5.0_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-164)
Java HotSpot(TM) Client VM (build 1.5.0_07-87, mixed mode, sharing)

When I run an application under EMMA, the java.class.path system property doesn't include the EMMA's classpath. I'm invoking EMMA like this:

java -cp emma.jar emmarun -classpath <app classpath> <app main>

One of the things that <app main> does is look at System.getProperty("java.class.path"). With EMMA this only contains emma.jar. It seems like EMMA ought to merge the <app classpath> with whatever classpath the JVM was invoked with. One obvious workaround to this problem is to include the app classpath in the JVM classpath. Unfortunately for me that's not an option.

This is a slightly weird use case and I can understand you potentially not wanting to support it. I do think it is a valid use case though, we are trying to make absolutely sure that EMMA is the only classloader loading our classes, so we're only showing them to EMMA. Secondly, the usage of the java.class.path system property is in a junit test suite builder that will automatically find tests based on certain criteria regardless of where they're at in the classpath.

Discussion


Log in to post a comment.