1. 程式人生 > >java命令列編譯class檔案及打包jar

java命令列編譯class檔案及打包jar

編譯: cmd = "javac -classpath /I:/apache-tomcat-7.0.34/webapps/project/WEB-INF/classes/../temp/com/hongshao/classpath.jar -d /I:/apache-tomcat-7.0.34/webapps/project/WEB-INF/classes/../temp/com/hongshao/../../ /I:/apache-tomcat-7.0.34/webapps/project/WEB-INF/classes/../temp/com/hongshao/tempcob/test.java"

Runtime.getRuntime().exec(cmd); javac -d 指明當前編譯後的class檔案所在的目錄路徑,注意該路徑會自動加上class類的包名,如com/hongshao/;所以在-d指明calss檔案後 的路徑時,需要在實際儲存位置加上../../

打包: cmd = "jar -cf ./com/hongshao/test.jar ./com/hongshao/*.class" Runtime.getRuntime().exec(cmd,null,new File("I:/apache-tomcat-7.0.34/webapps/project/WEB-INF/temp")); 其中new File是用來指明當前cmd命令的執行路徑 ./com/hongshao/*.class中的/com/hongshao/用於指明打包後的jar包裡的包名

這樣,打包後的jar包內的類的包名為com.hongshao