JasperReports - Thiết lập môi trường

JasperReports là một thư viện Java thuần túy và không phải là một ứng dụng độc lập. Nó không thể tự chạy, do đó nó cần được nhúng vào một ứng dụng Java phía máy khách hoặc máy chủ khác. Vì nó dựa trên Java, nó có thể chạy trên bất kỳ nền tảng nào hỗ trợ Java (JDK 1.3 trở lên). Tất cả các chức năng của JasperReport được tập hợp trong một tệp JAR duy nhất, jasperreports-xxxjar. JAR này cùng với các thư viện bắt buộc và tùy chọn (tệp .ZIP) có thể được tải xuống từ trang web: Liên kết Thư viện JasperReport . Tải xuống phiên bản mới nhất từ ​​liên kết này.

Tệp ZIP bao gồm tệp JasperReports JAR cùng với mã nguồn JasperReports, các JAR phụ thuộc và rất nhiều ví dụ minh họa các chức năng của JasperReport.

Môi trường JasperReport

Để bắt đầu tạo báo cáo, chúng ta cần thiết lập môi trường sẵn sàng. Giải nén tệp JasperReport.ZIP đã tải xuống vào bất kỳ vị trí nào (trong trường hợp của chúng tôi, chúng tôi đã giải nén tệp đó sang C: \ tools \ jasperreports-5.0.1). Cấu trúc thư mục của tệp được giải nén giống như hình dưới đây:

Đây là chi tiết của tất cả các thư mục -

  • build - Chứa các tệp lớp JasperReport đã biên dịch.

  • demo - Chứa nhiều ví dụ khác nhau, thể hiện một số khía cạnh của chức năng JasperReports.

  • dist - Chứa tệp jasperreports-xxxjar. Chúng tôi sẽ thêm tệp JAR này vào CLASSPATH của chúng tôi để tận dụng JasperReports.

  • docs - Chứa bản sao cục bộ của tài liệu JasperReports.

  • lib - Chứa tất cả các JAR cần thiết, cả để xây dựng JasperReports và sử dụng nó trong các ứng dụng của chúng tôi.

  • src - Chứa mã nguồn JasperReports.

  • build.xml - Một tệp xây dựng ANT để xây dựng mã nguồn JasperReports. Nếu chúng tôi không có ý định sửa đổi JasperReports, chúng tôi không cần sử dụng tệp này vì JasperReports được phân phối ở dạng đã biên dịch.

  • changes.txt - Một tài liệu văn bản, giải thích sự khác biệt giữa phiên bản hiện tại và phiên bản trước của thư viện lớp JasperReports.

  • license.txt - Một tài liệu văn bản chứa toàn bộ nội dung của giấy phép LGPL (Giấy phép Công cộng Ít hơn).

  • readme.txt - Một tài liệu văn bản, chứa hướng dẫn về cách xây dựng và thực thi các ví dụ được cung cấp.

Về cơ bản, chúng tôi chỉ sử dụng jasperreports-xxxjar trong dist và JAR trong thư mục lib để tạo báo cáo. Vì JasperReports là một công cụ mã nguồn mở, nếu có bất kỳ lỗi hoặc lỗi nào được phát hiện trong quá trình thực thi trong jasperreports-xxxjar, chúng tôi có thể sửa nó và xây dựng lại JAR bằng cách sử dụng tệp build.xml.

Đặt CLASSPATH

Để sử dụng JasperReport, chúng tôi cần đặt các tệp sau thành CLASSPATH của chúng tôi -

  • jasperreports-xxxjar, trong đó xxx là phiên bản JasperReports. Điều này được tìm thấy trong thư mục C: \ tools \ jasperreports-xxx \ dist).

  • Tất cả các tệp JAR trong thư mục con lib (C: \ tools \ jasperreports-xxx \ lib).

Tại thời điểm cài đặt, chúng tôi đã sử dụng JasperReport phiên bản 5.0.1. Nhấp chuột phải vào 'Máy tính của tôi' và chọn 'Thuộc tính', nhấp vào nút 'Biến môi trường' trong tab 'Nâng cao'. Bây giờ hãy cập nhật biến 'Đường dẫn' với biến nàyC:\tools\jasperreports-5.0.1\dist\jasperreports-5.0.1.jar:C:\tools\jasperreports-5.0.1\lib. Bây giờ bạn đã sẵn sàng để tạo báo cáo của mình.

Trong tất cả các ví dụ trong hướng dẫn này, chúng tôi đã sử dụng các tác vụ ANT để tạo báo cáo. Cácbuildtệp sẽ đảm nhận việc nhập tất cả các JAR cần thiết để tạo báo cáo. Do đó, thiết lập CLASSPATH như đã đề cập ở trên sẽ chỉ giúp ích cho những người muốn tạo báo cáo mà không sử dụng ANT.

Xây dựng thiết lập

Tất cả các ví dụ trong hướng dẫn này -

  • đã được viết bằng Trình soạn thảo văn bản đơn giản.

  • đã được lưu trong thư mục C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint.

  • đã được biên dịch và thực thi từ dấu nhắc lệnh, sử dụng Apache ANT. Chúng tôi sẽ sử dụng mộtbaseBuild.xml tệp mà chúng tôi sẽ nhập vào ANT build.xmltập tin trong các chương tiếp theo. Lưu tệp này vào C: \ tools \ jasperreports-5.0.1 \ test. Sau đây là nội dung của tệp baseBuild.xml:

<?xml version = "1.0" encoding = "UTF-8"?>
<project name = "JasperReportExample" basedir = ".">
   <description>Previews our JasperReport XML Design</description>
   <property name = "file.name" value = "jasper_report_template" />
   
   <!-- Directory where the JasperReports project file was extracted
   needs to be changed to match the local environment -->
   <property name = "jasper.dir" value = "../" />
   <property name = "dist.dir" value = "${jasper.dir}/dist" />
   <property name = "lib.dir" value = "${jasper.dir}/lib" />
   <property name = "src.dir" value = "src" />
   <property name = "classes.dir" value = "classes" />
   <property name = "main-class" value = "com.tutorialspoint.HelpMe" />

   <path id = "classpath">
      <pathelement location = "./" />
      <pathelement location = "${classes.dir}" />
	  
      <fileset dir = "${lib.dir}">
         <include name = "**/*.jar" />
      </fileset>
	  
      <fileset dir = "${dist.dir}">
         <include name = "**/*.jar" />
      </fileset>
   </path>
   
   <target name = "compile" depends = "clean-sample">
      <mkdir dir = "${classes.dir}"/>
		
      <javac srcdir = "${src.dir}" destdir = "${classes.dir}" 
         classpathref = "classpath" />
   </target>
   
   <target name = "run" depends = "compile">
      <echo message = "Running class : ${main-class}"/>
	  
      <java fork = "true" classname = "${main-class}">
         <classpath>
            <path refid = "classpath" />
         </classpath>
      </java>
   </target>
   
   <target name = "clean-sample">
      <delete dir = "${classes.dir}" />
      <delete file = "./${file.name}.jasper" />
      <delete file = "./${file.name}.jrprint" />
   </target>
   
</project>

Tệp này có tất cả các mục tiêu bắt buộc, như làm sạch các thư mục, biên dịch các tệp java và thực thi các tệp lớp.

Sau đây là các chi tiết, được đề cập bởi các thư mục khác nhau trong baseBuild.xml. Giả sử thư mục hiện tại là C: \ tools \ jasperreports-5.0.1 \ test) -

  • jasper.dir - là thư mục C: \ tools \ jasperreports-5.0.1

  • lib.dir - là thư mục C: \ tools \ jasperreports-5.0.1 \ lib

  • src.dir - là C: \ tools \ jasperreports-5.0.1 \ test \ src

  • class.dir - là C: \ tools \ jasperreports-5.0.1 \ test \ class

  • main-class - com.tutorialspoint.HelpMe. Lớp này là một lớp đơn giản được thực thi, khi không có tên tệp lớp nào được chuyển từ dòng lệnh. Lưu tệp này vào C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint.

package com.tutorialspoint;

public class HelpMe {
   public static void main(String[] args) {
      System.out.println("This is the default class executed."
         + "Please pass the fully qualified class" + " name to be executed as command line"
         + " parameter, for example," + " com.tutorialspoint.HelpMe ");
   }
}

Các lớp quản lý Jasper

Có một số lớp, sẽ được sử dụng để biên dịch thiết kế báo cáo JRXML, điền vào báo cáo, in báo cáo, xuất sang tệp PDF, HTML & XML, xem báo cáo đã tạo và thiết kế báo cáo.

Danh sách các lớp này là:

  • net.sf.jasperreports.engine.JasperCompileManager - Được sử dụng để biên dịch mẫu báo cáo JRXML.

  • net.sf.jasperreports.engine.JasperFillManager - Được sử dụng để điền vào một báo cáo với dữ liệu từ nguồn dữ liệu.

  • net.sf.jasperreports.engine.JasperPrintManager - Được sử dụng để in các tài liệu do thư viện JasperReports tạo ra.

  • net.sf.jasperreports.engine.JasperExportManager - Được sử dụng để lấy nội dung PDF, HTML hoặc XML cho các tài liệu được tạo ra bởi quá trình điền báo cáo.

  • net.sf.jasperreports.view.JasperViewer - Nó đại diện cho một ứng dụng Java Swing đơn giản, có thể tải và hiển thị báo cáo.

  • net.sf.jasperreports.view.JasperDesignViewer - Được sử dụng tại thời điểm thiết kế để xem trước các mẫu báo cáo.

Thiết lập Apache ANT

Chúng tôi sẽ xây dựng tất cả các ví dụ bằng Apache ANT. Vì vậy, vui lòng kiểm tra chương ANT - Environment Setup để thiết lập Apache ANT trên hệ thống của bạn.