windows与linux下执行.class(包含main方法)

Posted tan-chao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows与linux下执行.class(包含main方法)相关的知识,希望对你有一定的参考价值。

一般来说,执行一个java文件采用执行jar包的方式最为方便(java -jar XXX.jar),将所需要的文件全部打到一个jar里,但是有些时候需要执行指定的.class文件才行(各种原因),这个时候就需要我们使用 -classpath 参数来指定类路径。

 

windows:

假设要执行的文件为D:\test\Test.class

1.在cmd下进入D盘

2.执行java test.Test 或者 java test/Test 都可以

3.如果Test中关联了其它jar包,这需要通过如下方式执行,假设jar文件在test\lib下

java -classpath .;lib/* test.Test

说明如下:

注意这里使用了-classpath参数:

"."代表当前路径,这是java执行时的默认路径,所以在执行了classpath后需要手工加上这个路径,否则会提示找不到要执行的类。

";"用来隔开两个路径

"lib/*"表示lib下的所有jar文件,如果只使用某一个jar,可以具体指定,如"lib/XX.jar"

 

linux:

假设要执行的文件为/usr/local/test/Test.class

1.在shell下进入/usr/local

2.执行方式如下

java -classpath . test.Test

说明:linux下执行.class时,需要指定-classpath,这与linux的环境变量设置方式有关,linux不提倡指定".",而windows在设置CLASS_PATH环境变量时一般都加上这个".",这么说明白了吧

3.如果关联了其它jar文件,执行方式如下

java -classpath .:lib/*

说明:与windows相似,除了分隔符需要使用linux的分隔符":"

总结:

综上所述,建议在执行java命令时加上-classpath参数

以上是关于windows与linux下执行.class(包含main方法)的主要内容,如果未能解决你的问题,请参考以下文章

windows 开发的java程序怎么运行在linux环境下

Qt 创建者未定义对 linux 中“class::function”的引用

windows下进程与线程剖析

怎么把在windows系统下写的java程序放到Linux系统上执行

4.ubuntu实现linux与windows的互相复制与粘贴

linux下的c与windows下的c的区别