jar文件一打开就闪退,报错原因如下

Exception in thread "main" java.lang.NoClassDefFoundError: org/pushingpixels/substance/api/fonts/FontPolicy
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:496)
at java.base/java.lang.Class.forName(Class.java:475)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
Caused by: java.lang.ClassNotFoundException: org.pushingpixels.substance.api.fonts.FontPolicy
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)

win11系统
Java20与Java17报错均为此
环境变量已配置,
在cmd用Javac和Java version检验正常
缺少的东西在网上搜不出来,重新安装Java也没用,只好问问大家怎么解决

emm,问题解决了,没下jre。。。

码字不易,有用望采纳 答案参考Chatgpt解答
根据报错信息,出现了java.lang.NoClassDefFoundErrorjava.lang.ClassNotFoundException异常,提示找不到类org.pushingpixels.substance.api.fonts.FontPolicy。这意味着您的程序依赖的类或库文件缺失或无法加载。

以下是几种可能的解决方案:

  1. 检查Jar文件是否完整:确保您使用的Jar文件没有损坏或不完整。尝试重新下载或获取原始的、可靠的Jar文件,并确保使用的是与您的操作系统和Java版本兼容的版本。

  2. 检查类路径和依赖:确认您的类路径和依赖设置正确。确保程序能够找到所需的类和库文件。如果您使用了第三方库或框架,确保将相应的JAR文件包含在类路径中。

  3. 解决版本冲突:检查您使用的库和框架的版本是否与您的Java版本兼容。某些库可能不支持较新或较旧的Java版本。尝试更新或降级相关的库和框架,以与您的Java版本保持一致。

  4. 清除缓存:如果您的程序曾经使用过该库或类的旧版本,尝试清除Java缓存。在命令行中执行以下命令:

    java -Xmx512m -jar yourjarfile.jar -clear-cache
    

    这将清除Java的缓存,以便重新加载库文件。

  5. 检查依赖关系:如果您的程序依赖于其他的JAR文件,确保这些JAR文件存在并正确地包含在类路径中。检查所有的依赖项,确保它们的版本和兼容性。

如果您尝试了上述解决方案仍然无法解决问题,请提供更多关于您的应用程序和环境的详细信息,以便我可以更好地帮助您。

如果在idea中可以启用运行,打成jar后无法运行爆这个错。建议你看看你打包的文件是否完整或者idea用的java版本和cmd部署的是不是同一个版本

jar是通过idea构建打包的嘛,应该是构建打包有问题,有尝试eclipse打包吗

pushingpixels 这个好像是java Swing 美化用的一个依赖,你这里的jar包应该是用到里面的字体了,但是你的jar文件里可能没有把这个依赖打进去,找给你提供jar文件的人找下这个依赖。