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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • n卡eth挖矿设置_以太坊挖矿软件配置

    n卡eth挖矿设置_以太坊挖矿软件配置关键词:以太坊挖矿挖矿软件配置ETH挖矿软件配件在挖矿系统选择上,可以选择windows或者Linux,我们以windows为例。(如果想要超频的矿友建议使用Windows系统,因为它对驱动的支持全面,超频工具种类多)系统设置步骤:一.首先我们要为矿机安装一个操作系统,本教程将按照Windows10系统进行讲解。这里是win10系统的下载地址:https://msdn.itellyo…

    2022年10月16日
    0
  • Mac 键盘快捷键

    Mac 键盘快捷键Mac键盘快捷键您可以按下组合键来实现通常需要鼠标、触控板或其他输入设备才能完成的操作。要使用键盘快捷键,请按住一个或多个修饰键,同时按快捷键的最后一个键。例如,要使用快捷键Command-C(拷贝),请按住Command键并按C键,然后同时松开这两个键。Mac菜单和键盘通常对某些按键使用符号,其中包括以下修饰键:Command⌘Shift⇧Option⌥Con…

    2022年5月16日
    37
  • java 各版本jni支持_java – 不支持的JNI版本0xFFFFFFFF

    java 各版本jni支持_java – 不支持的JNI版本0xFFFFFFFF从java代码使用本机DLL时有没有遇到过这个错误?它是JNI库的版本吗?还是一个未解决的依赖?错误:Causedby:java.lang.UnsatisfiedLinkError:unsupportedJNIversion0xFFFFFFFFrequiredbyC:\jnwasapi.dllatjava.lang.ClassLoader$NativeLibrary.load(…

    2022年5月17日
    52
  • OpenStack实践(二):Linux Bridge方式实现Local Network[通俗易懂]

    OpenStack实践(二):Linux Bridge方式实现Local Network[通俗易懂]OpenStack实践(二):Linux Bridge方式实现Local Network

    2022年4月21日
    81
  • java oracle数据备份_Java实现Oracle数据库备份

    java oracle数据备份_Java实现Oracle数据库备份今天将非常早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的:importjava.io.File;importjava.io.IOException;/***Oracle数据库备份**@authorGaoHuanjie*/publicclassOracleDatabaseBackup{/***Java代码实现Oracle数据库导出**@auth…

    2022年7月12日
    12
  • 关于IFRAME的onload事件

    关于IFRAME的onload事件

    2021年10月19日
    36

发表回复

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

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