[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

 回车执行:

成功执行


本节完......

原文地址:https://www.cnblogs.com/xinglichao/p/9503785.html