⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 headless.txt

📁 java图形报表制作
💻 TXT
字号:
1. Install Tomcat
2. Run startup.sh
3. Open http://server:8080/servlet/com.objectplanet.chart.ChartServlet

Error on first try:

java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
	at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
	at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:59)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:120)
	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:58)
	at java.awt.Font.initializeFont(Font.java:264)
	at java.awt.Font.(Font.java:298)
	at com.objectplanet.chart.Chart.reset(Chart.java)
	at com.objectplanet.chart.BarChart.reset(BarChart.java)
	at com.objectplanet.chart.Chart.(Chart.java)
	at com.objectplanet.chart.Chart.(Chart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChartApplet.createChart(BarChartApplet.java)
	at com.objectplanet.chart.ChartApplet.(ChartApplet.java)
	at com.objectplanet.chart.BarChartApplet.(BarChartApplet.java)
	at com.objectplanet.chart.ChartServlet.init(ChartServlet.java)
	at org.apache.tomcat.core.ServletWrapper.doInit(ServletWrapper.java:317)
	at org.apache.tomcat.core.Handler.init(Handler.java:215)
	at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:296)
	at org.apache.tomcat.core.Handler.service(Handler.java:254)
	at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
	at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
	at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
	at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
	at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
	at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
	at java.lang.Thread.run(Thread.java:484)

Error on second try:

java.lang.NoClassDefFoundError
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:120)
	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:58)
	at java.awt.Font.initializeFont(Font.java:264)
	at java.awt.Font.(Font.java:298)
	at com.objectplanet.chart.Chart.reset(Chart.java)
	at com.objectplanet.chart.BarChart.reset(BarChart.java)
	at com.objectplanet.chart.Chart.(Chart.java)
	at com.objectplanet.chart.Chart.(Chart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChart.(BarChart.java)
	at com.objectplanet.chart.BarChartApplet.createChart(BarChartApplet.java)
	at com.objectplanet.chart.ChartApplet.(ChartApplet.java)
	at com.objectplanet.chart.BarChartApplet.(BarChartApplet.java)
	at com.objectplanet.chart.ChartServlet.init(ChartServlet.java)
	at org.apache.tomcat.core.ServletWrapper.doInit(ServletWrapper.java:317)
	at org.apache.tomcat.core.Handler.init(Handler.java:215)
	at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:296)
	at org.apache.tomcat.core.Handler.service(Handler.java:254)
	at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
	at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
	at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
	at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
	at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
	at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
	at java.lang.Thread.run(Thread.java:484)


Solution 1 - start X11

1. Boot the machine in X windows mode or start X manually
2. Set DISPLAY to localhost:0.0 from the console you start tomcat with

Does not work very well, on my solaris test machine, the chart takes
forever to be created


Solution 2 - use PJA

1. Download PJA from http://www.eteks.com/pja/en/
2. Install PJA
3. Modify your tomcat.sh file

3.1 Change

   if [ "$JAVACMD" = "" ] ; then 
      # it may be defined in env - including flags!!
      JAVACMD="$JAVA_HOME/bin/java"
   fi

to (change the path to pja if you have another one)

   if [ "$JAVACMD" = "" ] ; then 
      # it may be defined in env - including flags!!
      JAVACMD="$JAVA_HOME/bin/java -Xbootclasspath/p:/export/home/usr/pja/lib/pja.jar
   -Dawt.toolkit=com.eteks.awt.PJAToolkit
   -Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment -Djava2d.font.usePlatformFont=false
   -Djava.awt.fonts=/export/home/usr/java1.2/jre/lib/fonts -Duser.home=/export/home/usr/pja"
   fi

3.2 change classpath

  if [ -f ${JAVA_HOME}/lib/tools.jar ] ; then
     # We are probably in a JDK1.2 environment
     CLASSPATH=${CLASSPATH}:${JAVA_HOME}/lib/tools.jar
  fi

to

  if [ -f ${JAVA_HOME}/lib/tools.jar ] ; then
     # We are probably in a JDK1.2 environment
     CLASSPATH=${CLASSPATH}:${JAVA_HOME}/lib/tools.jar:/export/home/usr/pja/lib/pjatools.jar:/export/home/usr/tomcat/lib
  fi

4. Start tomcat by running startup.sh

Your chart should now be generated


Solution 3 - Use Xvfb

1. Download Xvfb from 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -