java -cp
java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库、jar 包之类,需要全路径到 jar 包,多个依赖在Window 上用分号";"隔开。
格式:
java -cp .;myClass.jar packname.mainclassname
表达式支持通配符,例如:
java -cp .;c:\classes01\myClass.jar;c:\classes02\*.jar packname.mainclassname
其实命令就是:
java -cp xxx.jar 主类名称(绝对路径)
java -cp kgcapp-1.0-SNAPSHOT.jar com.kgc.kgcapp.App
要运行的主类是kgc.kgcapp.App -cp用于指定运行这个类依赖的jar包
java -jar
java -jar 执行命令时,会用到目录META-INF\MANIFEST.MF文件,在该文件中,有一个叫Main-Class的参数,他说明了 java -jar 命令执行的类。
META-INF\MANIFEST.MF的内容
Manifest-Version: 1.0
Main-Class: test.core.Core
区别
打包时指定了主类,可以直接用java -jar xxx.jar。
打包时没有指定主类,可以用java -cp xxx.jar 主类名称(绝对路径)
要引用其他的 jar 包,可以用java -classpath $CLASSPATH:xxx.jar 主类名称(绝对路径)。其中 -classpath 指定需要引入的类。
进行spring cloud的内容后看一下有没有META-INF\MANIFEST.MF文件