Java 运行jar程序

  • 1. java -jar .jar 或者 javaw -jar .jar
  • 2. 更改注册表信息
  • 2.1 打开win+R
  • 2.2 进入注册表
  • 2.3 找到java.exe
  • 2.4 修改
  • 2.5 过程总结
  • 3. jar 中的 MANIFEST.MF 文件


1. java -jar .jar 或者 javaw -jar .jar

这两个方法具体的区别见另一篇博客java javac 和 javaw 好的, 这个方法很简单关键要在jar所在目录下去执行仅此而已

2. 更改注册表信息

有的朋友可能想直接双击选择java ™ platform

Java打包后找不到配置文件 java打jar包运行找不到类_java


但是发现双击后直接运行console然后闪退, 这里其实是因为系统里链接了java运行命令,

这和你在控制台里直接输入 java .jar效果是一样的会报错:

Java打包后找不到配置文件 java打jar包运行找不到类_jar_02


这里有两种解决办法一种是用第一种方法 java -jar .jar运行另一种是更改链接方式

2.1 打开win+R

Java打包后找不到配置文件 java打jar包运行找不到类_java_03

2.2 进入注册表

其实就是下图的这个但关键是怎么找到的

Java打包后找不到配置文件 java打jar包运行找不到类_Java打包后找不到配置文件_04

2.3 找到java.exe

Java打包后找不到配置文件 java打jar包运行找不到类_jar_05


Java打包后找不到配置文件 java打jar包运行找不到类_jdk_06


Java打包后找不到配置文件 java打jar包运行找不到类_jdk_07


Java打包后找不到配置文件 java打jar包运行找不到类_Java_08


Java打包后找不到配置文件 java打jar包运行找不到类_Java_09

2.4 修改

把第一个改为

C:\Program Files\Java\jdk1.8.0_74\bin\javaw.exe" -jar "%1" 原来可能没有或者没有-jar

这样改完以后对jar运行java就会自动运行javaw -jar命令相当于创建了个快捷方式

2.5 过程总结

  1. 打开注册表
  2. 在上方查找粘贴
计算机\HKEY_CLASSES_ROOT\Applications\javaw.exe
  1. 打开第一个 把变量值改为
C:\Program Files\Java\jdk1.8.0_74\bin\javaw.exe" -jar "%1" 注意不要去改java.exe的

这个具体的路径可以在你安装jdk的路径下找到bin找到javaw.exe查看

Java打包后找不到配置文件 java打jar包运行找不到类_java_10

3. jar 中的 MANIFEST.MF 文件

这个文件其实就相当于是一个hadoop中的name node 用来存放各种配置和路径

查看这个文件的话

Java打包后找不到配置文件 java打jar包运行找不到类_java_11


Java打包后找不到配置文件 java打jar包运行找不到类_jdk_12


Java打包后找不到配置文件 java打jar包运行找不到类_jar_13


Java打包后找不到配置文件 java打jar包运行找不到类_jar_14


这里面的CLASSPATH 还记得我们配置JAVA环境变量的时候的CLASSPATH么 没错放得应该是项目中导入或者引用的一些引用类, 而下面的那个MAINCLASS就是整个程序的入口若果报错找不到主类的话不是因为命令用错了就是因为这个地方写错了. 它这样写应该是因为所有的类都放在了edsim51di这个包裹下也就是程序里有package这一句. 再复习下上节的知识 .CLASS中放的是可以被JVM去读取的JVM字节码而不是编程语言或者依赖硬件的机器码.