[java] DOS编译 .java 文件得到 .class 文件 并执行 以及使用外部 .jar包 时的命令
当写一个java文件后,在DOS中进行编译与执行时,如果没有引入外来的包,那情况很简单
例如:
public class hello_world { public static void main(String[] args) { System.out.println("hello world !"); } }
使用命令
/*编译*/ javac hello_world.java /*执行*/ java hello_world
过程与结果:
但是,然我们是用外部包的时候,就稍稍有点麻烦(比如我的上一篇随笔)
此时编译要将所使用的外部 .jar文件包含进去,编译与执行都需要,就拿我的上一篇随笔来说,我使用了commons-math3-3.6.1.jar
这里为了方便,我将此包拷贝到了我的.java文件所在的文件夹下了
如下记录我失败到成功的过程:
首先使用 -cp(classpath)指定使用的外部包
javac -cp commons-math3-3.6.1.jar predict_temperature.java
编译成功
文件夹出现.class文件
那赶紧来执行试试吧
java -cp commons-math3-3.6.1.jar predict_temperature 52001848#2018-07-01-00-00-00_2018-07-31-00-00-00.csv 2018/7/1 7:42:47
执行出错
竟然找不到这个文件,我命名就在这个文件的目录下运行的命令呀
原来,-cp在指定的时候,不但要执行外部包同时也要指定生成的要加载的主类的路径
使用 ;(分号)隔开,这里指定下现在的路径
java -cp commons-math3-3.6.1.jar;./ predict_temperature 52001848#2018-07-01-00-00-00_2018-07-31-00-00-00.csv 2018/7/1 7:42:47
回车执行:
成功执行
本节完......