使用命令行执行java文件、项目(class、jar)

最简单的引用外部jar包执行,首先把src下的项目源代码打包成jar包,然后执行java命令 ,class文件同理(先加载jar包,再找到main方法入口、传入参数)

java -classpath 引用jar包的路径(多个用;隔开,首先要把自身项目的jar包加载进来,然后才是外部引用jar包)  base.BaseDao 参数1 参数2

如:项目源代码jar包photo.jar包main方法所在路径base.BaseDao,引用jar包ojdbc6.jar,两个jar包在d:/bat目录下,则执行java命令

java -classpath photo.jar;ojdbc6.jar base.BaseDao enroll 2

1.clss文件

在docs命令下进入class所在目录或者直接把class文件拖拽进来,执行java class文件名称或者全路径

如果Main方法包含参数,则在文件名称后写入参数如“:java Test 参数1 参数2 ...参数中间用空格分开

2.java项目(包含main方法的)

1)带包路径

首先编译成class文件,进入项目所在目录,找到bin文件夹;

如果要执行的main方法在自定义包下,则加上包名.类名执行,如:java base.BaseDao 

BaseDao所在的包为base,如执行带参数的和第一条执行方法一样

2)引用外部jar包

引用jar包需要把jar放入到bin目录下,解压然后重复第二条第1小节

3.jar文件

首先把java项目打包成jar文件,在打包成jar的时候注意,最后一步时可以写入Main Class也就是执行哪个类的main方法

(大概是因为如果有多个类的话不多个main方法时程序会不知道执行哪个)。在导出时写入Main Class可以避免在执行命令时报错。

如果导出jar没指定Main Class,需要在META-INF/MANIFEST.MF文件中写入:Main-Class: main方法所在的类路径  然后回车

 

1)没有引用jar包

和第二条的第一小条一样

2)引用了jar包

目前找到的解决方案,把引用的jar包放到jdk目录下的lib/ext下面,也就是%JRE_HOME%/lib/ext里

这个目录下的jar包会在Bootstrap Classloader工作完后由Extension Classloader来加载。非常方便,非常省心。:)

猜你喜欢

转载自zh-ka-163-com.iteye.com/blog/2230764