直接運行 .class的方法 java -cp . com.network.Chat , 不用加.class后綴
從eclipse中export 的jar file,僅僅是把.class打包了。所以執行這種jar file需要用 java -cp .;ch04.jar com.thnkjava.ch04, 如果你還應用到另外的lib庫,你必須在cp里說明,也就是 java -cp .;ch04.jar;lib01.jar;lib02.jar com.thnkjava.ch04 來執行。事實上可以發現ch04.jar也在cp里面,說明ch04.jar就是lib庫,最后的參數指明了要被執行的類名。
如果從eclipse里export出的是 runnable jar file,那么個執行這個jar包的時候是不需要指明哪個類的,直接這樣執行 java -jar ch04.jar。原因就是jar包中的MANIFEST.MF內容不同。 runnable jar包中指明哪個類先執行,所以你可以用 java -jar ch04.jar來執行你想要執行的代碼,而不必指明具體哪個類。這個你可以打開 jar包查看MANIFEST.MF的區別,一目了然。
生成runnable jar file時,有兩個選項,Extract required libraries into generated JAR 和 package equired libraries into generated JAR。 前者是把你用到的.class 文件提取出來,后者則是把你所需要的所有jar包都打進一個包里。兩者的MANIFEST.MF文件內容也有所不同,這應該是eclipse造成的。