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

你可能感兴趣的:(java)