Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java应用程序从Windows迁移到linux服务器_Java - Fatal编程技术网

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

java应用程序从Windows迁移到linux服务器,java,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.jav

我正在尝试将一个包含一些图表的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)
java.awt.HeadlessException:
未设置X11显示变量,但此程序执行了需要该变量的操作。
位于java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
在java.awt.Window。(Window.java:432)
在java.awt.Frame.(Frame.java:403)
在java.awt.Frame.(Frame.java:368)
位于javachart.servlet.Bean.makeURLImage(未知源)
位于javachart.applet.ParameterParser.makeURLImage(未知源)
位于javachart.applet.ParameterParser.populateGc(未知源)
位于javachart.applet.ParameterParser.getDatasetPropertiesFromParameters(未知源)
位于javachart.applet.ParameterParser.getDatasetParameters(未知源)
位于javachart.applet.ParameterParser.getDataset(未知源)
位于javachart.applet.ParameterParser.getDatasets(未知源)
位于javachart.applet.ParameterParser.getOptions(未知源)
位于javachart.servlet.Bean.getOptions(未知源)
位于javachart.servlet.labelLineApp.init(未知源)
位于javachart.servlet.Bean.buildChart(未知源)
位于javachart.servlet.Bean.generate(未知源)
位于javachart.servlet.Bean.getFileName(未知源)
位于org.apache.jsp.www.SaveHtml.chartByHotelSNS_jsp._jsp服务(chartByHotelSNS_jsp.java:676)
位于org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
运行(Thread.java:662)
我还尝试通过Putty设置显示环境变量,但也没有成功。
有人能告诉我问题到底出在哪里吗?

它是在应用程序还是linux端

我认为,问题的根本原因是linux服务器没有安装X11,另一方面,您正在运行的代码使用了图形环境,或者至少您的图形输出配置不正确

我认为这篇文章在这种情况下是有用的。 此外,Alex K提供的链接也可以回答您的问题


祝你好运

您需要以某种方式设置System.setProperty(“java.awt.headless”、“true”)

告诉服务器团队使用额外的命令行参数启动任何Java

java -Djava.awt.headless=true

设置以下系统属性(如果安装了X11):

或者启动自己的虚拟X11服务器。例如:

vncserver :1
export DISPLAY=:1

或者查看一下
Xvfb

可能的重复:该服务器是否有一些图形输出设备?我不知道该服务器,因为它是处理该服务器的另一个团队
vncserver :1
export DISPLAY=:1