2

SQL データベースにあるデータを印刷できる Java swing を使用してレポートを作成しようとしています。問題をググった後にこれを見つけ、ステップバイステップのチュートリアルに従いました。すべてがスムーズに進み、エラーは発生しませんでした。最初は問題ないように見えますが、これらのコードを配置した後(必要なレポートが生成されます):

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 に答える