[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

过程与结果:

[java]  DOS编译 .java 文件得到 .class 文件  并执行  以及使用外部 .jar包   时的命令

但是,然我们是用外部包的时候,就稍稍有点麻烦(比如我的上一篇随笔

此时编译要将所使用的外部 .jar文件包含进去,编译与执行都需要,就拿我的上一篇随笔来说,我使用了commons-math3-3.6.1.jar

这里为了方便,我将此包拷贝到了我的.java文件所在的文件夹下了

如下记录我失败到成功的过程:

首先使用  -cp(classpath)指定使用的外部包

javac -cp commons-math3-3.6.1.jar predict_temperature.java

编译成功

[java]  DOS编译 .java 文件得到 .class 文件  并执行  以及使用外部 .jar包   时的命令

文件夹出现.class文件

[java]  DOS编译 .java 文件得到 .class 文件  并执行  以及使用外部 .jar包   时的命令

那赶紧来执行试试吧

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

执行出错

[java]  DOS编译 .java 文件得到 .class 文件  并执行  以及使用外部 .jar包   时的命令

竟然找不到这个文件,我命名就在这个文件的目录下运行的命令呀

原来,-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

回车执行:

[java]  DOS编译 .java 文件得到 .class 文件  并执行  以及使用外部 .jar包   时的命令

成功执行


本节完......

上一篇:WCF,WebAPI,WCFREST和WebService的区别


下一篇:(SQL SERVER) (ORACLE) (ACCESS)(POSTGRE SQL)四种数据库操作C#代码