我原来的系统跑在HP-UX下,完全没问题,然后我把tomcat目录和应用程序目录拷贝到了一个linux下,运行正常,但就是以前的导出excel和pdf文件的方法报错。如下:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Servlet execution threw an exception
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
com.cnc.oss.ttms.TtmsFilter.doFilter(TtmsFilter.java:21)
root cause java.lang.NoClassDefFoundError
sun.java2d.SunGraphicsEnvironment$1.run(SunGraphicsEnvironment.java:108)
java.security.AccessController.doPrivileged(Native Method)
sun.java2d.SunGraphicsEnvironment.<init>(SunGraphicsEnvironment.java:78)
sun.awt.X11GraphicsEnvironment.<init>(X11GraphicsEnvironment.java:150)
sun.reflect.GeneratedConstructorAccessor202.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:274)
java.lang.Class.newInstance0(Class.java:306)
java.lang.Class.newInstance(Class.java:259)
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
net.sf.jasperreports.engine.util.JRGraphEnvInitializer.initializeGraphEnv(JRGraphEnvInitializer.java:58)
net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:182)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:82)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74)
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:107)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:428)
com.cnc.oss.ttms.search.MyJasper.doExecute(MyJasper.java:132)
com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:109)
com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:258)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:182)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:272)
com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:237)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
com.cnc.oss.ttms.TtmsFilter.doFilter(TtmsFilter.java:21)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.我查资料说可能和X有关,我启动tomcat必须通过telnet命令行方式,因为机器在远程,我在命令行下敲startx,提示如下:
[root@ttms-webserver1 upload]# startx
Fatal server error:
Server is already active for display 0
        If this server is no longer running, remove /tmp/.X0-lock
        and start again.
Please consult the The X.Org Foundation support 
         at http://wiki.X.Org
 for help. Xlib: connection to ":0.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
giving up.
xinit:  unable to connect to X server
xinit:  No such process (errno 3):  Server error.
不知道该如何解决,请指教,在线等!

解决方案 »

  1.   

    telnet里启动图形界面我不知道可不可以至于这个报错java.lang.NoClassDefFoundError,我认为可能是权限不够用chmod先改成777看看 - -"
      

  2.   

    1.估计你的tomcat的版本不对,重新下载一个for linux的试试
    2.至于这个报错java.lang.NoClassDefFoundError有可能是你的jdk的相关配置不正确,或是版本不对
      

  3.   

    设哪个文件的权限?x11里面的lib的权限?我启动用的root。是不是需要加到classpath里?应该加哪些jar?
      

  4.   

    tmocat有专门for linux的吗?我只找到一个zip版本和gz版本,应该一样吧,还有一个windows安装版。
    我之前是在HP-UX上运行的,hp unix和redhat企业版有各自针对的版本吗?
      

  5.   

    对LINUX不熟,学习.标记一下
      

  6.   

    gz版本tomcat是在LINUX下使用的版本
    跨平台移值应该没有问题的,我用都没问题,注意TOMCAT的版本