1

DynamicReports (Jasper レポート上に作成) を使用して Swing アプリケーションを作成し、PDF ファイルを印刷 (表示および保存) します。

アプリケーションは、 SwingアプリケーションのEclipse呼び出しでスムーズに実行されますが、実行可能な jar として実行されると、失敗します。FileNotFoundException(Access is denied)

次のスタック トレース:

    C:\WINDOWS\system32\Report_1370232068590_862159.java
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toJasperReport(JasperReportBuilder.java:278) ~[jar:rsrc:dynamicreports-core-3.1.3.jar!/:na]
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toJasperPrint(JasperReportBuilder.java:308) ~[jar:rsrc:dynamicreports-core-3.1.3.jar!/:na]
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.export(JasperReportBuilder.java:596) ~[jar:rsrc:dynamicreports-core-3.1.3.jar!/:na]
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toPdf(JasperReportBuilder.java:516) ~[jar:rsrc:dynamicreports-core-3.1.3.jar!/:na]
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toPdf(JasperReportBuilder.java:512) ~[jar:rsrc:dynamicreports-core-3.1.3.jar!/:na]
    at test.firewall.desktop.FirewallAccessTask.makeFirewallPIEChart(FirewallAccessTask.java:130) [rsrc:./:na]
    at test.firewall.desktop.FirewallAccessTask.doInBackground(FirewallAccessTask.java:86) [rsrc:./:na]
    at test.firewall.desktop.FirewallAccessTask.doInBackground(FirewallAccessTask.java:1) [rsrc:./:na]
    at javax.swing.SwingWorker$1.call(Unknown Source) [na:1.7.0_21]
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.7.0_21]
    at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_21]
    at javax.swing.SwingWorker.run(Unknown Source) [na:1.7.0_21]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_21]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_21]
    at java.lang.Thread.run(Unknown Source) [na:1.7.0_21]
Caused by: net.sf.jasperreports.engine.JRException: Error saving expressions class file : C:\WINDOWS\system32\Report_1370232068590_862159.java
    at net.sf.jasperreports.engine.util.JRSaver.saveClassSource(JRSaver.java:153) ~[jar:rsrc:jasperreports-5.0.4.jar!/:na]
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.getSourceFile(JRAbstractCompiler.java:310) ~[jar:rsrc:jasperreports-5.0.4.jar!/:na]
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.createCompileUnit(JRAbstractCompiler.java:282) ~[jar:rsrc:jasperreports-5.0.4.jar!/:na]
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:177) ~[jar:rsrc:jasperreports-5.0.4.jar!/:na]
    at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:240) ~[jar:rsrc:jasperreports-5.0.4.jar!/:na]
    at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:490) ~[jar:rsrc:jasperreports-5.0.4.jar!/:na]
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toJasperReport(JasperReportBuilder.java:275) ~[jar:rsrc:dynamicreports-core-3.1.3.jar!/:na]
    ... 14 common frames omitted
Caused by: java.io.FileNotFoundException: C:\WINDOWS\system32\Report_1370232068590_862159.java (Access is denied)
    at java.io.FileOutputStream.open(Native Method) ~[na:1.7.0_21]
    at java.io.FileOutputStream.<init>(Unknown Source) ~[na:1.7.0_21]
    at java.io.FileOutputStream.<init>(Unknown Source) ~[na:1.7.0_21]
    at java.io.FileWriter.<init>(Unknown Source) ~[na:1.7.0_21]
    at net.sf.jasperreports.engine.util.JRSaver.saveClassSource(JRSaver.java:145) ~[jar:rsrc:jasperreports-5.0.4.jar!/:na]
    ... 20 common frames omitted
4

1 に答える 1

1

ここにコードを入力してください

C:\WINDOWS\system32\Report_1370232068590_862159.java読み取り権限がありません。

許可を与えるには:

ファイルを右クリック --> [プロパティ] --> [セキュリティ] --> [編集] --> [ユーザーにフル コントロールのアクセス許可を与える] に移動します

これで問題が解決する可能性があると思います。

于 2013-06-03T04:37:45.200 に答える