java -jar 执行jar包出现 java.lang.NoClassDefFoundError
http://www.cnblogs.com/xuzimian/p/7599304.html
我用idea工具将自己开发java程序打成一个可执行的jar包,当然用eclipse或者直接用jar命令行都无所谓,本质都是将程序归档到一个压缩包,并附带一个说明清单文件。
打jar的操作其实很简单,网上很多资料,即使出错工具也都会有提示,而执行打包好的jar就很容易出现一些小问题,这些小问题往往就是jar包中清单文件书写一些小细节引起的。
比如我在标题提到的执行jar包抛出 java.lang.NoClassDefFoundError 异常,找不到某某包下的类,这时候不用看,就是清单文件中的classpath书写的问题:
classpath有如下容易忽略的问题:
(1) 不能有空行和空格的地方 第一行不可以是空行( 第一行的行前不可以有空行),行与行之间不能有空行,第行的行尾不可以有空格
(2) 一定要有空行的地方 最后一行得是空行(在输完你的内容后加一个回车就OK)
(3) 一定有空格的地方
等等。这些其实用第三方工具(非jdk自带)都不会有问题,而本人则遇到一个问题,是想在这里特别说明的,本人参照网上帖子,用idea打jar包,第三方的jar通通放入lib文件夹中,这时候,清单文件的classpath所对应的jar包就必须加上“lib\”前缀,而问题就在这里,他写成lib\xxx-xx.jar执行jar包时候就出现了标题中java.lang.NoClassDefFoundError异常。本人反复和对打包清单文件,怼了一晚上才爬出坑,需要用"/"符号 ,所classpath应该是lib/xxx-xx.jar
java -jar 执行jar包出现 java.lang.NoClassDefFoundError相关推荐
- idea 执行 java jar_idea打包java可执行jar包的实现步骤
1,在项目上鼠标右键 --> Open Module Settings 2, Artifacts --> + --> JAR --> From modules with dep ...
- Java可执行jar自解压jar内指定文件到指定目录
Java可执行jar自解压jar内指定文件到指定目录 参考链接 感谢大神[手动膜拜] https://www.devx.com/tips/Tip/22124 打开慢的话可以直接看下图 需求说明 需求来 ...
- java命令执行jar包main方法指定相关依赖
1. 准备好工程执行所需的所有依赖jar包,也可以使用maven导出依赖的方法导出: 2. 将工程打包,此处打成jar包,如上图所示,zookeeper-learn-1.0-SNAPSHOT.jar, ...
- java打包成jar|执行jar包中的main方法
java打包成jar jar -cvf [jar包的名字] [需要打包的文件] 执行jar包中的main方法 java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 ...
- Android系统运行Java程序执行jar包(2-包含spring框架)
前言 上一篇文章中,通过把jar转换为安卓系统可以执行的dex文件,从而运行java程序,但这种方法只不适用于复杂的框架. 为了运行更为复杂的java程序,我在安卓设备上安装了linux虚拟机,在虚拟 ...
- java 代码执行el,专属于java的漏洞——EL表达式注入
前言"FSRC经验分享"系列文章,旨在分享焦点科技信息安全部工作过程中的经验总结,包括但不限于漏洞分析.运营技巧.sdl推行.等保合规.自研工具等等. 欢迎各位安全从业者持续关注~ ...
- java远程执行命令报错java.io.IOException: Cannot run program “ifconfig“: error=2, No such file or directory
直接执行ifconfig没问题,但是在java代码里远程执行ifconfig就找不到命令. session = conn.openSession(); session.execCommand(cmd) ...
- java怎么调用同包变量,Java并发包中的原子变量操作类
JUC并发包提供了一系列的原子操作类,这些类都是使用非阻塞算法(CAS)实现的,相比于使用锁来实现,这些原子操作类在性能上更好一些. JUC并发包中包含有AtomicInteger.AtomicLon ...
- 问题007:JDK版本与JRE版本不同导致java.exe执行类文件错误 java.lang.UnsupportedClassVersionError错误...
版本不同的原因是,Windows 系统之前安装了JRE 是别的版本的 解决方法,将其卸载,卸载后可以正常使用,不再错误提示. 转载于:https://www.cnblogs.com/qingyundi ...
最新文章
- 从 Android 静音看正确的查找 bug 的姿势
- Mongodb的安装部署
- mysql参数优化51cto_超详细MySQL数据库优化
- 提质升级·万祥军:中国与拉美谋定国际农民丰收节贸易会
- 基于MIG控制器的DDR3读写控制详解
- Windows10【Java连接Redis报错】
- Centos 的inotify和rsync文件实时同步
- 我的Android进阶之旅------Android MediaPlayer播放mp3的实例--简易mp3播放器
- c语言多个形参,C中子函数最多有几个形参
- 论文浅尝 | IRW:基于知识图谱和关系推理的视觉叙事框架
- B站游戏大佬飘了?深挖B站辱北邮事件经过:不是第一次
- 【实战 01】心脏病二分类数据集
- 研报复现系列(六)【国泰君安】基于CCK模型的股票市场羊群效应研究
- Doom3 引擎渲染管线分析
- 【Unity游戏开发】动画系统(二)2D动画
- 换肤方案,换肤策略,App插件式换肤实现方案
- 江民KV2007离线包和安装包下载
- 数据结构与算法基础Day2
- 使用 DHTML 与 XML 制作 Ajax 幻灯片
- AI智能在线客服系统,如何实现自动回复功能?
热门文章
- 百度飞桨AI达人创造营 | Day01:创意是如何诞生的
- Android开发之实时更新系统时间
- switch日版有中文吗_Switch中文系统终于到来!近日将推送更新,美版日版港版均支持...
- 周易六十四卦——泽水困卦
- 技侦十所 技侦科技局
- pytorch-gradual-warmup-lr安装
- 从“触点”到“旅程”——浅谈数字时代的客户体验提升
- Spring5学习详细笔记
- Word修改默认英文字体为Times New Roman
- AutoSar CAN网络管理状态机理解