2

我正在尝试使用 java swing 创建一个报告,该报告能够打印我在我的 SQL 数据库中的数据,我在谷歌搜索我的问题并按照分步教程进行操作后发现了这个,一切都很顺利,没有错误发生了,起初看起来不错,但是在我输入这些代码之后(这将生成我想要的报告):

public void reportviewer() {
            try{
            String report = "C:\\Users\\cleanfuel\\Documents\\NetBeansProjects\\StringManipulation\\src\\stringmanipulation\\report1.jrxml";
            JasperReport jasp_report = JasperCompileManager.compileReport(report);
            JasperPrint jasp_print = JasperFillManager.fillReport(jasp_report, null, con);
            JasperViewer.viewReport(jasp_print);
            }
            catch (Exception e) {System.out.print(e);}
        }enter code here

在我运行程序并单击按钮报告后,发生错误并打印:

在此处输入图像描述

谁能告诉我如何解决这个问题?我错过了什么吗?

4

2 回答 2

2

只需创建一个log4j.properties并将其放入您的类路径中:

#
# connector logging configuration
#
# From most to least verbose: TRACE, DEBUG, INFO, WARN, ERROR, OFF
log4j.rootCategory=INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p [%c{1}] - %m%n
于 2013-04-12T04:15:01.047 回答
2

基本上它只是log4j抱怨没有附加程序可以输出它的输出。

除非您真的关心 Jasper Reports 代码的输出,否则您不必太担心它。

如果您想要快速修复,您可以在执行任何其他操作之前将以下内容添加到您的代码中。

PatternLayout pl = new PatternLayout("[%-5p] %C.%M:%L: %m%n");
ConsoleAppender appender = new ConsoleAppender(pl);
Logger.getRootLogger().addAppender(appender);

它基本上会添加一个控制台附加程序,将输出发送到控制台。

查看log4j了解更多详细信息。

更新了示例

import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;

public class Test {

    public static void main(String[] args) {
        PatternLayout pl = new PatternLayout("[%-5p] %C.%M:%L: %m%n");
        ConsoleAppender appender = new ConsoleAppender(pl);
        Logger.getRootLogger().addAppender(appender);
        // The rest of your code...
    }
}
于 2013-04-12T04:15:52.010 回答