JavaApplet打印的时候报错:Error printing report.See the console for details

在使用Jasper进行打印时,Java Applet经常出现'Error printing report.See the console for details'的错误。错误源于缺少访问权限。解决办法是在JRE的lib/security/java.policy文件中添加权限,如'permission java.lang.RuntimePermission "accessClassInPackage.sun.awt.windows"';重启浏览器即可解决问题。
摘要由CSDN通过智能技术生成
西安机保很多客户端程序在使用Jasper打印的时候,客户端Applet都报 Error printing report.See the console for details。
 
点击右下角的咖啡图标,打开JRE的控制台,在控制台中有如下信息:
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.awt.windows)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPackageAccess(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkPackageAccess(Unknown Source)
at java.lang.Class.checkMemberAccess(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at net.sf.jasperreports.engine.print.JRPrinterAWT.initPrinterJobFields(JRPrinterAWT.java:273)
at net.sf.jasperreports.engine.print.JRPrinterAWT.printPages(JRPrinterAWT.java:140)
at net.sf.jasperreports.engine.print.JRPrinterAWT.printPages(JRPrinterAWT.java:88)
at net.sf.jasperreports.engine.JasperPrintManager.printPages(JasperPrintManager.java:348)
at net.sf.jasperreports.engine.JasperPrintManager.printReport(JasperPrintManager.java:239)
at net.sf.jasperreports.view.JRViewer$20.run(JRViewer.java:1090)
### 回答1: 这个错误提示是因为找不到或无法加载主类 sun.applet.appletviewer,原因是 java.lang.classnotfoundexception: sun.applet.appletviewer。可能是因为您的 Java 环境没有正确配置或者缺少必要的类库。建议您检查 Java 环境配置是否正确,并且确保您的系统中已经安装了必要的类库。 ### 回答2: 这个错误信息是因为在尝试运行某个Java程序时,系统没有找到或加载了一个名为sun.applet.appletviewer的主类。然后错误信息指出了这个问题的根本原因,即一个叫做java.lang.classnotfoundexception的异常,它表示Java虚拟机无法找到指定的类。 这个问题通常与Java程序中依赖的类或JAR包有关。在Java中,一个程序可能会依赖多个类或JAR包来完成特定的任务,在编写代码和编译时将这些依赖项包含在类路径中。如果依赖的类或JAR包没有正确地包含在类路径中,Java虚拟机会抛出一个ClassNotFoundException异常,最终导致找不到或无法加载主类。 解决这个问题的第一步是检查类路径是否正确,确保Java程序需要的类和JAR包都包括在其中。当确保所需类和JAR包正确添加到类路径之后,重新编译程序或重新运行程序,以确保Java虚拟机正确加载主类和依赖项。 如果调整类路径无效,则可能需要检查Java安装是否正确。在某些情况下,Java安装的错误配置或版本可能会导致无法加载类。在这种情况下,重新安装Java并确保它正确配置为系统环境中的JAVA_HOME环境变量,可以解决此问题。 ### 回答3: 这个错误提示表明在运行Java Applet时,系统找不到或无法加载对应的类,进而导致应用程序无法正常启动。 根据错误提示,可以推测出问题出现在Java Applet中的sun.applet.appletviewer类。这个类是Java内置的一个Applet查看器,用于在浏览器中显示和运行Applet程序。如果系统无法正常加载这个类,可能是由于以下几个原因引起的: 1. Java运行环境没有正确安装或配置:如果Java环境没有正确安装或配置,系统可能无法找到sun.applet.appletviewer类所在的路径,从而无法加载该类。此时需要检查Java环境的配置是否正确。 2. Java运行环境版本不兼容:如果Java运行环境版本过低,可能无法加载一些新的类和函数,也会出现无法找到或加载类的错误。这时需要更新Java运行环境版本。 3. 系统或应用程序中缺少sun.applet.appletviewer类文件:如果sun.applet.appletviewer类文件已损坏或不存在,系统也会出现无法加载该类的错误。此时需要检查该类文件是否存在,并且是否完整无损。 4. 应用程序代码错误:有时错误可能并不是由Java环境或系统引起的,而是由应用程序代码本身造成的。这时需要检查应用程序代码并修复错误。 无论是因为什么原因引起的错误,我们可以通过检查Java环境配置、更新Java版本、修复应用程序代码等多种方式来解决问题。如果仍然遇到问题,可以在Java开发者社区或技术支持网站上咨询专业人士。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值