java命令行编译class文件及打包jar

  • 时间:
  • 浏览:13
  • 来源:跟我学网络

最后发布:2018-11-13 14:37:16首发:2018-11-13 14:37:16

编译:

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