java - java应用程序从Windows迁移到Linux服务器

标签 java

我正在尝试将包含一些图表的 java 应用程序从 Windows 迁移到 Linux,但出现以下异常:

    java.awt.HeadlessException:
    No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
    at java.awt.Window.<init>(Window.java:432)
    at java.awt.Frame.<init>(Frame.java:403)
    at java.awt.Frame.<init>(Frame.java:368)
    at javachart.servlet.Bean.makeURLImage(Unknown Source)
    at javachart.applet.ParameterParser.makeURLImage(Unknown Source)
    at javachart.applet.ParameterParser.populateGc(Unknown Source)
    at javachart.applet.ParameterParser.getDatasetPropertiesFromParameters(Unknown Source)
    at javachart.applet.ParameterParser.getDatasetParameters(Unknown Source)
    at javachart.applet.ParameterParser.getDataset(Unknown Source)
    at javachart.applet.ParameterParser.getDatasets(Unknown Source)
    at javachart.applet.ParameterParser.getOptions(Unknown Source)
    at javachart.servlet.Bean.getOptions(Unknown Source)
    at javachart.servlet.labelLineApp.init(Unknown Source)
    at javachart.servlet.Bean.buildChart(Unknown Source)
    at javachart.servlet.Bean.generate(Unknown Source)
    at javachart.servlet.Bean.getFileName(Unknown Source)
    at org.apache.jsp.www.SaveHtml.chartByHotelSNS_jsp._jspService(chartByHotelSNS_jsp.java:676)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:662)

我还尝试通过 Putty 设置显示环境变量,但这也不起作用。
谁能告诉我问题到底出在哪里?
是在应用程序端还是linux端?

最佳答案

您需要以某种方式设置 System.setProperty("java.awt.headless", "true");

告诉服务器团队使用附加命令行参数启动他们正在启动的任何 Java

java -Djava.awt.headless=true

关于java - java应用程序从Windows迁移到Linux服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8485550/

相关文章:

java - 不满意的依赖异常 : Error creating bean with name 'requestMappingHandlerAdapter'

java - 从另一个线程调用adapter.notifyDataSetChanged()

java - 无法通过使用 Selenium Webdriver 设置 Firefox 配置文件来下载文件

java - Spring boot runnable jar 找不到通过 java.system.class.loader jvm 参数设置的类加载器

java - 当用户单击Struts2 jquery grid的删除按钮时,卡在获取特定行的id

java - 如何解决JSONArray问题,获取不到数据,Android Studio

Java 日志记录异常,使用 getMessage 或 toString : log. warn(ex.getMessage()) 或 log.warn(ex) 使用开源

java - 在 Apache Spark 上为每个 worker 创建一个单例

java - 获取 ANDROID_ID 试图了解 java

java - 从Grails应用程序中终止长时间运行的SQL查询