Narayanan wrote:
Suran Jayathilaka wrote:
Hi all,
I have the derby source built successfully and the jars were created.
Using a classpath that contains the jars/classes I can start ij. But
when I try to run a test, say supersimple.sql, with the exact same
classpath, I get a Exception in thread "main"
java.lang.NoClassDefFoundError:org/apache/derby/tools/ij
-----
27 del
< 0 rows inserted/updated/deleted
28 del
< ij> 28 add
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/derby/tools/ij
Test Failed.
*** End: supersimple jdk1.5.0_09 2008-03-24 02:49:30 ***
-----------
The command I issue is like the following (ignore the linebreaks). This
command I issued from the derby.source folder after successfully
building. The same occurs if I try with the jars.
java
-cp
../derbytest/testingjars/junit-3.8.2.jar:../derbytest/testingjars/jakarta-oro-2.0.8.jar:classes/
org.apache.derbyTesting.functionTests.harness.RunTest
lang/supersimple.sql
But if I give
java
-cp
../derbytest/testingjars/junit-3.8.2.jar:../derbytest/testingjars/jakarta-oro-2.0.8.jar:classes/
org.apache.derby.tools.ij
ij starts with no trouble.
I spent a couple of hours trying to fins out what the problem is, to no
avail. Can anyone please help?
Thanks.
Suran.
Hi,
I set my CLASSPATH variable to
/home/vn/work/workspaces/freshworkspace/trunk/classes:
/home/vn/work/workspaces/freshworkspace/trunk/tools/java/jakarta-oro-2.0.8.jar:
/home/vn/work/workspaces/freshworkspace/trunk/tools/java/junit.jar
basically same as yours,
and it seemed to work fine.
Narayanan
I have a theory for why setting CLASSPATH works but -cp does not
I think internally there is a fork to execute the test you want to run
See RunTest.java, method execTestProcess(String[] testCmd), line no 2529,
pr = Runtime.getRuntime().exec(testCmd);
So basically I think when you do a -cp the classpath is not inherited by
the fork.
So I guess you need to set the environment variable.
Narayanan