首页 > 编程语言 >IDEA编译生成可运行jar包 和 运行jar包报java.lang.NoClassDefFoundError错误,注意 MF文件目录不要用默认目录,改成项目根目录

IDEA编译生成可运行jar包 和 运行jar包报java.lang.NoClassDefFoundError错误,注意 MF文件目录不要用默认目录,改成项目根目录

时间:2024-01-30 11:34:13浏览次数:22  
标签:MF java NoClassDefFoundError jar 生成 根目录 文件目录 运行

IDEA编译生成可运行jar包 和 运行jar包报java.lang.NoClassDefFoundError错误,注意 MF文件目录不要用默认目录,改成项目根目录

运行环境:

操作系统:ubuntu20.04

java version:

openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

jetbrain-idea: 20200301

idea生成可运行的jar包

1. 首先通过idea创建java项目,并保证可运行。

2. 右击左边项目目录,在弹出界面选择Open Module Settings

 3. 再在弹出窗口中选择左侧Artifacts,点击“+”号,弹出窗口中选择JAR-->From modules with dependencies。

注意:因为你生成的jar包可能依赖其他jar包或库。

4. 配置包含main函数类和生成jar包的MF目录,配置完点击OK按钮就行。注意:MF文件目录不要用默认目录,使用默认,我的生成jar就出错了,无法运行。

 5. 最后配置完的样子,最后别忘了在下边界面点击“OK按钮”确认

6. 配置完毕后,需要编译,编译步骤如下图:

最后就可以到jar生成目录看到所生成的jar包了

生成的可执行jar在输出目录里。使用:java -jar *.jar命令执行jar包程序。

运行jar包报java.lang.NoClassDefFoundError错误

当我们再修改java程序时,并且添加了新的依赖包,那么我们需要到配置生成jar包的界面,添加这个新的依赖,如下图,如果不添加。jar编译没有问题,但是运行jar包时,会报错:ava.lang.NoClassDefFoundError

 

 

 

原文链接:https://blog.csdn.net/ruanke77/article/details/122316315

标签:MF,java,NoClassDefFoundError,jar,生成,根目录,文件目录,运行
From: https://www.cnblogs.com/sunny3158/p/17996751

相关文章

  • Linux挂载新磁盘到根目录
    Linux挂载新磁盘到根目录添加磁盘到需要挂载的机器上lsblk查看硬盘挂载情况,sdb,sdc为我新挂载的磁盘fdisk-l查看挂载之前的分区情况,为新硬盘创建分区fdisk/dev/sdb,终端会提示:Command(mforhelp):输入:n依次输入p和1接着便会提示卷的起始地址和结束地址,都保持......
  • 海康私有SDK打包jar运行错误排除
    我在用idea编译后运行正常,但是我想打包成为jar包后出现了一系列问题,我一一列举1.ant不存在到官网下载ant解压后配置环境变量即可2.[javac]警告:[options]未与-source5一起设置引导类路径[javac]错误:不再支持源选项5。请使用6或更高版本。[javac]错误:不再支持......
  • 【QT】选择和打开中文路径文件目录
    场景:Qt选择和打开目录,支持中文、空格等实现:#选择目录QStringstrDir="D:\\";QStringqslPath=QFileDialog::getExistingDirectory(this,"",strDir);ui->l_path->setText(qslPath);#打开目录QStringpath=ui->l_path->text();if(!path.isEmpty())QDe......
  • The artifact mysql:mysql-connector-java:jar:8.0.33 has been relocated to com.mys
    Theartifactmysql:mysql-connector-java:jar:8.0.33hasbeenrelocatedtocom.mysql:mysql-connector-j:jar:8.0.33:MySQLConnector/Jartifactsmovedtoreverse-DNScompliantMaven2+coordinates.1.异常信息Theartifactmysql:mysql-connector-java:jar:8.0.33hasb......
  • linux服务器,启动服务jar包后,tail查看日志会卡主几分钟后,日志才加载出来,且访问接口很容
    首先:先排除服务器资源不足问题,看程序启动分配内存是否充足等问题原因:DNS配置异常导致的问题,程序运行时会去跑这些域名解析解决方法:/etc/resolv.conf中namespace配置注释,配置注释后,不用运行其他命令,会立即生效,重启服务,可以看到日志会立即返回,且调接口会快速返回,不容易超时......
  • HIVE 添加jar包的方式
    https://blog.csdn.net/qianshangding0708/article/details/50381966  以加入elsaticsearch-hadoop-2.1.2.jar为例,讲述在Hive中加入第三方jar的几种方式。1,在hiveshell中加入   [hadoop@hadoopcluster78bin]$./hive       Logginginitializedusingconfigu......
  • Jmeter 的 jar 包开发环境搭建
       配置maven环境:1、下载地址:https://maven.apache.org/download.cgiwindows环境下载下面这个: 解压下载完的文件 2、编辑系统变量win+r键,输入sysdm.cpl回车,打开环境变量设置页面,1)新建一个:MAVEN_HOME值输入:D:\apache-maven-3.9.62)编辑path变量,在path值的最......
  • CentOS8根目录扩容
    利用空闲磁盘或分区对linux系统根目录(/)进行扩容以/dev/vdc空闲磁盘(100G)为例给选定磁盘创建新分区fdisk/dev/vdc磁盘分区格式化#查看/目录分区格式df-Th#格式化分区格式与/目录格式一致mkfs.ext4/dev/vdc1将物理硬盘分区初始化为物理卷pvpvcreate/dev/vdc1......
  • Arch(Manjaro) Linux Pacman 命令详解
    参考Wiki:https://wiki.archlinuxcn.org/zh-hans/Pacmanyay命令参考:HerePacman是一个软件包管理器,作为ArchLinux发行版的一部分。简单来说,就是和apt-get之于Ubuntu一样,pacman就是Arch的apt-get。要想轻松玩转Arch,学会pacman是必需的。Pacman包管理器是ArchLinux的一大亮点。......
  • nohup java -jar admin.jar > admin.log & ,什么意思
    这是一个在Linux或Unix系统中使用的命令行指令。让我为您逐个解释每个部分的含义:nohup:表示不挂断运行,并且不受终端关闭的影响。它允许您在退出终端后继续运行命令,即使终端会话已经结束。java-jaradmin.jar:这是要执行的命令,以Java命令行方式运行名为admin.jar的可......