关于运行jar包时的一个错误
花了几天时间学习java,今天制作了一个jar包,遇到一个奇怪的问题,打好的jar包使用命令
java -jar test.jar
可以正确运行,但是双击或是在cmd中运行,提示下面的错误:
C:\Users\Administrator>D:\work\temp\classes\test.jar
Exception in thread "main" java.lang.NoClassDefFoundError: D:\work\temp\classes\
test/jar
Caused by: java.lang.ClassNotFoundException: D:\work\temp\classes\test.jar
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: D:\work\temp\classes\test.jar. Program will exit
解决办法
打开注册表项,HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\command, 修改数据为"C:\Program Files\Java\jre6\bin\java.exe" -jar "%1",即增加了参数-jar
或者直接导入下列注册表文件
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\command]
@="\"C:\\Program Files\\Java\\jre6\\bin\\java.exe\" -jar \"%1\""
注意:
若双击打开jar包使用的是javaw,则需要修改javaw对应的注册表项。
java与javaw区别如下:
如果是基于纯文本的编成用java。 如果是图形化但随时打印成纯文本用java。 如果你在检查错误,用java。 如果程序是纯粹的图形化的,而且你需要提升速度,用javaw。
转载于:https://blog.51cto.com/gavinx000/826484
关于运行jar包时的一个错误相关推荐
- 运行jar包时指定prod时报异常
1 问题 运行jar包时指定prod时报异常,异常如下: PS D:\Workspace\ZJ\dataPlatform\dataPlatform-api\target> java -jar . ...
- 怎样在运行jar包时指定jdk
正常情况下,运行jar包使用命令是: java -jar xxx.jar 这里默认使用JAVA_HOME环境变量中的jdk. 如果想要指定jdk路径运行jar包,可以使用以下命令: %~dp0\jav ...
- java -jar命令运行jar包时指定外部依赖jar包
大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口.具体的方法是修改jar包内目录META-INF下的MANIFE ...
- eclipse 导出可运行jar包时三种Library handling的区别
我们在eclipse中打包一个可运行的jar包的时候,Library handing中的选项有下面三种: 那么eclipse中Runnable JAR file的这三种打包方式有什么区别呢? 第一个E ...
- maven编译jar包时打一个瘦包,依赖包和配置文件到jar包外面
背景 打的jar包很大 很多时候我们在开发的时候,maven的依赖包非常多,导致我们最后打的一个jar包有一百多MB,需要将包上传到liunx环境耗时非常久,很多时候我们并没有改变依赖包,而只是改变我 ...
- Java运行jar包时,指定内存大小
参考:Java运行时指定内存大小_u013738122的博客-CSDN博客 java -jar -Xms1024m -Xmx1536m -XX:PermSize=128M -XX:MaxPermSiz ...
- Hadoop 运行jar包时 java.lang.ClassNotFoundException: Class com.zhen.mr.RunJob$HotMapper not found...
错误如下 Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.zhen.mr.RunJob$H ...
- Dockerfile中通过ENV指定动态参数在RUN时传递参数(部署后台jar包时指定端口为例)
场景 CentOS7中使用Dockerfile部署后台jar包: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119818808 ...
- Java中通过命令行启动jar包时指定编码
场景 Java中运行jar包的命令是 java -jar badao.jar 但是在Windows中通过这种方式运行jar包的话,会因为中文乱码的问题导致 Jar包运行异常. 注: 博客: https ...
最新文章
- SAP RETAIL MM41维护商品主数据的时候可以维护分类数据
- Java 摄氏和华氏之间的转换
- vue使用query传参页面刷新数据丢失问题
- oracle10g数据库热备份,Oracle10g数据库冷备份脚本文件
- Mysql导入数据时-data truncated for column..
- linux字符设备驱动在哪里设置,从点一个灯开始学写Linux字符设备驱动!
- POJ 2236 Wireless Network
- phpwind升级php7,【原创文章】升级phpwind为https
- 编写VTK文件,导入paraview显示
- HashMap什么时候由链表转红黑树
- flv f4v mp4 视频播放器代码
- c语言用户态锁使用,用户态自旋锁、读写自旋锁及互斥锁
- 命令行运行ktr和kjb
- 关于 Macbook 外接显示器模糊问题
- Springer的latex压缩包上传转不了pdf
- 量化交易 实战第十三课 打分法选股
- lua 5.3.5 使用pairs遍历table时, 遍历结果为什么是随机的
- 手机智能群控系统开发
- 51单片机电子钟 是如何做成的(3)---电子钟总体结构与操作
- 关于Spring.split()踩坑
热门文章
- cast函数_关闭RTTI后dynamic_cast和typeid报异常
- mysql cmd 删除表_MySQL查看表和清空表的常用命令总结
- ubuntu meld比较文件差异
- Spark基础学习笔记05:搭建Spark Standalone模式的集群
- Java讲课笔记12:static关键字
- 大数据学习笔记02:在私有云上创建与配置虚拟机
- 2017.10.23 卡牌游戏 失败总结
- 2017.9.17 选数 失败总结
- 2017.3.25 矩阵快速幂 求斐波那契数列第n项
- 2017.3.12 每日小记