通常我们常见的java命令执行java程序为java -jar 以及java -cp
主要区别:java -jar需要该jar为可执行jar,eclipse中export时需要选择runnable jar,java -jar 直接执行时不需要指定主类;
而java -cp 需要指定主类;
java -cp :java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径(也可以说是告诉编译器到哪里找到你指定的类),通常是类库,jar包之类,需要全路径指定jar包;一般我们都是在jar包所在路径执行这个命令;所以不需要指定jar的全路径;java -classpath 与java -cp是一样的,java -cp是缩写。
java -jar myClass.jar
执行该命令时,会用到目录META-INF\MANIFEST.MF文件,在该文件中,有一个叫Main-Class的参数,它说明了java -jar命令执行的类。
hadoop jar :是把本机的hadoop安装目录下的jar包和配置文件都加载到本次要运行的类的classpath下,jvm就可以找到所有需要用到的class;