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相关推荐

  1. idea 执行 java jar_idea打包java可执行jar包的实现步骤

    1,在项目上鼠标右键 --> Open Module Settings 2, Artifacts --> + --> JAR --> From modules with dep ...

  2. Java可执行jar自解压jar内指定文件到指定目录

    Java可执行jar自解压jar内指定文件到指定目录 参考链接 感谢大神[手动膜拜] https://www.devx.com/tips/Tip/22124 打开慢的话可以直接看下图 需求说明 需求来 ...

  3. java命令执行jar包main方法指定相关依赖

    1. 准备好工程执行所需的所有依赖jar包,也可以使用maven导出依赖的方法导出: 2. 将工程打包,此处打成jar包,如上图所示,zookeeper-learn-1.0-SNAPSHOT.jar, ...

  4. java打包成jar|执行jar包中的main方法

    java打包成jar jar -cvf [jar包的名字] [需要打包的文件] 执行jar包中的main方法 java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 ...

  5. Android系统运行Java程序执行jar包(2-包含spring框架)

    前言 上一篇文章中,通过把jar转换为安卓系统可以执行的dex文件,从而运行java程序,但这种方法只不适用于复杂的框架. 为了运行更为复杂的java程序,我在安卓设备上安装了linux虚拟机,在虚拟 ...

  6. java 代码执行el,专属于java的漏洞——EL表达式注入

    前言"FSRC经验分享"系列文章,旨在分享焦点科技信息安全部工作过程中的经验总结,包括但不限于漏洞分析.运营技巧.sdl推行.等保合规.自研工具等等. 欢迎各位安全从业者持续关注~ ...

  7. java远程执行命令报错java.io.IOException: Cannot run program “ifconfig“: error=2, No such file or directory

    直接执行ifconfig没问题,但是在java代码里远程执行ifconfig就找不到命令. session = conn.openSession(); session.execCommand(cmd) ...

  8. java怎么调用同包变量,Java并发包中的原子变量操作类

    JUC并发包提供了一系列的原子操作类,这些类都是使用非阻塞算法(CAS)实现的,相比于使用锁来实现,这些原子操作类在性能上更好一些. JUC并发包中包含有AtomicInteger.AtomicLon ...

  9. 问题007:JDK版本与JRE版本不同导致java.exe执行类文件错误 java.lang.UnsupportedClassVersionError错误...

    版本不同的原因是,Windows 系统之前安装了JRE 是别的版本的 解决方法,将其卸载,卸载后可以正常使用,不再错误提示. 转载于:https://www.cnblogs.com/qingyundi ...

最新文章

  1. 从 Android 静音看正确的查找 bug 的姿势
  2. Mongodb的安装部署
  3. mysql参数优化51cto_超详细MySQL数据库优化
  4. 提质升级·万祥军:中国与拉美谋定国际农民丰收节贸易会
  5. 基于MIG控制器的DDR3读写控制详解
  6. Windows10【Java连接Redis报错】
  7. Centos 的inotify和rsync文件实时同步
  8. 我的Android进阶之旅------Android MediaPlayer播放mp3的实例--简易mp3播放器
  9. c语言多个形参,C中子函数最多有几个形参
  10. 论文浅尝 | IRW:基于知识图谱和关系推理的视觉叙事框架
  11. B站游戏大佬飘了?深挖B站辱北邮事件经过:不是第一次
  12. 【实战 01】心脏病二分类数据集
  13. 研报复现系列(六)【国泰君安】基于CCK模型的股票市场羊群效应研究
  14. Doom3 引擎渲染管线分析
  15. 【Unity游戏开发】动画系统(二)2D动画
  16. 换肤方案,换肤策略,App插件式换肤实现方案
  17. 江民KV2007离线包和安装包下载
  18. 数据结构与算法基础Day2
  19. 使用 DHTML 与 XML 制作 Ajax 幻灯片
  20. AI智能在线客服系统,如何实现自动回复功能?

热门文章

  1. 百度飞桨AI达人创造营 | Day01:创意是如何诞生的
  2. Android开发之实时更新系统时间
  3. switch日版有中文吗_Switch中文系统终于到来!近日将推送更新,美版日版港版均支持...
  4. 周易六十四卦——泽水困卦
  5. 技侦十所 技侦科技局
  6. pytorch-gradual-warmup-lr安装
  7. 从“触点”到“旅程”——浅谈数字时代的客户体验提升
  8. Spring5学习详细笔记
  9. Word修改默认英文字体为Times New Roman
  10. AutoSar CAN网络管理状态机理解