Shakalaka!

I am upgrading our project from Maven 1.x to 2.0.2. At this point only 67 of my 150 tests have test failures/errors due to the transition. My main problem is this: I have many tests that launch multiple instances of the same server classes. The server uses static variables (it is highly inconvenient to do otherwise AFAICS) and thus we had written them to be spawned into their own processes, and remote-controlled (startup, shutdown, etc) via XML-RPC. This setup served us well. To accomplish this, we incorporated the following tools:

org.apache.tools.ant.types.CommandlineJava

java.lang.Process process = Runtime.getRuntime().exec (cmd.getCommandline());

org.apache.tools.ant.taskdefs.PumpStreamHandler


Bringing this setup into Maven 2.0.2, when such tests are executed, Maven outputs the following:

...
65440 [main] INFO com.b42.anyplace.test.AddressBookMultiServerFailTest - Spawned server #4210 65442 [main] INFO com.b42.xmlrpc.DefaultXmlRpcClientLite - waitUntilRunning$ Exception in thread "main" java.lang.NoClassDefFoundError: com/b42/ anyplace/test/lib/ServerTask
...

Here, the AddressBookMultiServerFailTest successfully spawned a server process using the aforementioned Ant tools and is now waiting for the server to enter the running condition before continuing on with the tests. However, the dominant class loading system appears to have not found com/b42/anyplace/test/lib/ServerTask. A check shows that the environment variable values of the spawned processes ( for the java.class.path and sun.boot.class.path keys, for example) are all primitive and therefore have no concept of either my code or Mavens ergo they can't possibly run the test.

How can I surmount this problem? I know that surefire has a "fork" mechanism; am I able to reuse this mechanism in one of the tests as launched by surefire? Can my test access it's own class path as launched by Maven and set that Is it possible to use classworlds to load multiple instances of my ServerTask into the same VM without the static variables conflicting? Can anyone suggest any solutions?

Thank you very much for your time and energy,
Ty C


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to