weblogic环境,应用上传图片报Could not initialize class sun.awt.X11.XToolkit

weblogic环境,应用上传图片报Could not initialize class sun.awt.X11.XToolkit

大家好,又见面了,我是全栈君。

问题描写叙述

遇到的问题是在weblogic环境,应用在上传图片的时候报Could not initialize class sun.awt.X11.XToolkit 错误。

详细错误例如以下

17:57:02 [AWT-EventQueue-2] DEBUG - Leaving class nc.ui.hi.psndoc.action.SavePsndocAction.actionPerformed 
Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:169)
	at java.awt.Toolkit$2.run(Toolkit.java:834)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826)
	at javax.swing.ImageIcon.<init>(ImageIcon.java:236)
	at nc.pub.tools.VOUtils.transPreviewPhoto(VOUtils.java:212)
	at nc.impl.hi.psndoc.PsndocValidator.setPreviewPhoto(PsndocValidator.java:1338)
	at nc.impl.hi.psndoc.PsndocValidator.adjustPsndoc(PsndocValidator.java:1320)
	at nc.impl.hi.psndoc.PsndocValidator.validate(PsndocValidator.java:819)
	at nc.impl.hi.psndoc.PsndocServiceImpl.savePsndoc(PsndocServiceImpl.java:1616)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at nc.bs.framework.aop.rt.MethodProceedingJoinpoint$3.invoke(MethodProceedingJoinpoint.java:74)
	at nc.bs.framework.aop.rt.MethodProceedingJoinpoint.proceed(MethodProceedingJoinpoint.java:184)
	at nc.bs.framework.server.SecurityAspect.aroundMethod1(SecurityAspect.java:45)
	at sun.reflect.GeneratedMethodAccessor156.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at nc.bs.framework.aop.rt.AdviceHolder.invoke(AdviceHolder.java:182)
	at nc.bs.framework.aop.rt.MethodProceedingJoinpoint.proceed(MethodProceedingJoinpoint.java:129)
	at nc.bs.framework.aop.rt.MethodProceedingJoinpoint.proceed(MethodProceedingJoinpoint.java:135)
	at nc.bs.aop.log.BusilogAspect.aroundMethod(BusilogAspect.java:75)
	at sun.reflect.GeneratedMethodAccessor1769.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at nc.bs.framework.aop.rt.AdviceHolder.invoke(AdviceHolder.java:182)
	at nc.bs.framework.aop.rt.MethodProceedingJoinpoint.proceed(MethodProceedingJoinpoint.java:129)
	at nc.bs.framework.aop.rt.MethodProceedingJoinpoint.proceed(MethodProceedingJoinpoint.java:135)
	at nc.bs.framework.aop.rt.AspectedProxy.invoke(AspectedProxy.java:59)
	at $Proxy519.savePsndoc(Unknown Source)
	at nc.itf.hr.hi.HRhiEJBEjbBean.savePsndoc(HRhiEJBEjbBean.java:2812)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
	at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
	at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
	at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
	at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
	at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
	at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
	at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
	at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
	at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
	at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
	at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at $Proxy514.savePsndoc(Unknown Source)

解决的方法

在启动javaserver的时候。在启动參数中增加下面參数

-Djava.awt.headless=true

headless问题探讨

关于javaserver的headless模式。oracle官网的说明为:

http://www.oracle.com/technetwork/articles/javase/headless-136834.html

当中非常多概念我也不是非常理解

大致意思就是,在javaserver端,有很多图形界面的处理函数。须要调用显示器,鼠标键盘这些设备,但有些处理函数则不须要。假设设置了这个headless之后。图形界面的处理和渲染是分开的,用于生成图片的工作放在server端进行,生成后将编码传到client,再在client进行渲染和显示。

这主要用了server端的高计算能力。然后把须要调用显示器相关的工作传到client去运行。

以上的错误本身是要初始化X11server。然后用X11的工具箱去做图形生成计算这等事。可是X11初始化失败。应该是X11的安装环境有问题,于是能够设置java參数

-Djava.awt.headless=true

这个參数。使用java自带的这个server工具箱。

以上是我的理解,对错有待验证。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116438.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle dml语句_oracle数据库导入dmp语句

    oracle dml语句_oracle数据库导入dmp语句/*DML语句对表中数据做增删改1.插入数据1)insertinto表名values(….)2)insertinto(字段…)values(…)3)创建表的同时拷贝表的数据createtableempasselect*fromscott…

    2022年10月21日
    3
  • 【C语言】让你不再害怕指针——C指针详解(经典,非常详细)

    因排版过于粗糙学习详情转至:https://blog.csdn.net/qq_41035588/article/details/97010039前言:复杂类型说明要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总…

    2022年4月6日
    31
  • Java锁的概念「建议收藏」

    Java锁的概念「建议收藏」一:悲观锁在Java中,synchronized和lock锁都是悲观锁。定义:悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改二:乐观锁定义:认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被其他线程更新,则根据不同的实现方式执行不同的操作(例如报错或者自动重试)。乐观锁在Java中.

    2022年7月7日
    22
  • 解决NVIDIA显卡驱动 图形驱动程序安装失败 问题

    解决NVIDIA显卡驱动 图形驱动程序安装失败 问题本教程是在当你尝试一般的教程都无法解决问题的前提下使用,比如使用DDU工具卸载原显卡驱动后重新安装无效,找不到独立显卡的情况。退出火绒等杀毒软件win+R输入services.msc进入服务。将WindowsUpdata启动类型改为自动,并启动服务。win+R输入gpedit.msc进入本地策略编辑器。在计算机配置-模板管理-系统-设备安装-设备安装限制中双击图中第三个将其改为未配置或禁用重新安装显卡驱动即可…

    2022年5月6日
    842
  • P2P终结者和反P2P终结者如何使用「建议收藏」

    P2P终结者和反P2P终结者如何使用「建议收藏」1安装软件并运行,首先扫描网络,第一台控制机就是自己,你可以查看IP,和命令提示符下的IP吻合.2点击高级选项,指定本机网络环境和网卡3控制规则设置,首先设置全局限速模板,其他的差不多.4

    2022年7月3日
    31
  • SFDC ActionFunction

    SFDC ActionFunctionmyActionMethod();//thisisjavascriptpu

    2025年8月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号