I have a java file , Test.java . It import some class in the test.jar . Now I put the command : Javac –cp c:\..\test.jar c:\..\Test.java Now I have compiled it successfully ! But when I use the java to use this class , like below : Java –cp c:\..\test.jar Test Then system output : Exception in thread "main" java.lang.NoClassDefFoundError: com/TestForPie This is show that the command java can not find the Test.class . It’s sure that I have use command java and its arguments wrongly . how can use java to run my class ? And what’s wrong with me ? Note : in my Test.java , I don’t use package to pack this java file in any packages .
Does your Test.java file have a main method with the following signature: public static void main(String args) Because if it doesn't then this is the place to start. Although it is kind weird that the error is specifying the class TestForPie. Is TestForPie the main class in the jar file? If so then you might want to specify where the Test.java file is located in the -cp agrument also for example: java -cp C:\Test\location;c:\..\test.jar Test Hope this helps.