Java打包成EXE出现错误,java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory,求各位大神支招。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java打包成EXE出现错误,java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory,求各位大神支招。相关的知识,希望对你有一定的参考价值。

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at GenAudioVedio.<clinit>(GenAudioVedio.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.exe4j.runtime.WinLauncher.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(Unknown Source)
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)
... 7 more

文件后缀必须是 ico的,并且不能太大,图片路径一定要存在。

拓展:

1、Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。

2、Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。

参考技术A Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory

很明显 少了JAR包啊

追问

少了什么包呢

追答


把这几个也导进去再试下

追问

发一下这几个包吧

本回答被提问者采纳

运行exe4j打包好的java桌面应用程序后出现error.log日志错误

java.io.IOException: Cannot run program "c:\docume~1\admini~1\??\demo\bin\mysql/StopMySQL.bat": CreateProcess error=123, ????????????ò?í±ê
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at com.vivoinfo.steelmis.View.Main$1.windowClosing(Main.java:250)
at java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.awt.Window.processWindowEvent(Unknown Source)
at javax.swing.JFrame.processWindowEvent(Unknown Source)
at java.awt.Window.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.IOException: CreateProcess error=123, ????????????ò?í±ê
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 20 more
StopMySQL.bat是我写的调用mysql服务的bat文件,c:\docume~1\admini~1\??显示的真正编码是:C:\Documents and Settings\Administrator\桌面\
但每次运行exe执行文件后就出现这样的错误日志,很头疼,不知道怎么解决!希望大家尽快帮助我!不胜感激!!
我在不是中文的目录下点击exe执行文件完全正常啊!

参考技术A 可能是中文引起的乱码,换一个没有中文目录的路径试试.. 参考技术B 中文乱码而已,c:\docume~1\admini~1\??,关键问题再“??”上,自己设定一下获得目录的编码格式就可以了! 参考技术C 呃,对,找不到路径,应该说是exe4j的BUG还是什么。你直接把*.bat文件放到D盘根目录再试试。 参考技术D 文件路径的问题,可能是空格引起!或者没打包进去!本回答被提问者采纳

以上是关于Java打包成EXE出现错误,java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory,求各位大神支招。的主要内容,如果未能解决你的问题,请参考以下文章

JPype1 = 0.7.0:TypeError:无法转换str java类型类java.lang.String

Jmeter-java请求执行报错:java.lang.NoSuchFieldError: INSTANCE

JavaFx出现错误Caused by: java.lang.NullPointerException: Location is required的解决方法

使用 buildozer 打包我的 kivy 应用程序时如何修复“java.lang.module.FindException:找不到模块 java.se.ee”错误

LABVIEW程序打包生成exe执行文件时,参数路径变了

java 怎么打包成.exe文件