最近在做的一个东西需要通过linux调度我的一个main方法,很久很久没有用这种方式了,写完了脱离了eclispe IDE 在dos下运行的时候居然发生了久违的:
Exception in thread "main" java.lang.NoClassDefFoundError
应该是由于我这个类是有包名造成的,用包名+类名的方式运行了一把,居然还是不对。google了一下,原来编译还是不一样的,需要-d参数。
1. 当类没有包时 dos 下
javac Test.java // 编译 Test 类 , 生产 class 文件
java Test // 运行 Test 类
2. 当有包名情况下 com.application.Test
javac -d . Test.java // 可以生存到包的 class 文件 , 也就是像开发工具中生存的文件夹
java com.application.Test // 运行这个类