2012-10-09 33 views
7

Tôi đã viết một số lớp Java, tạo tệp jar. Tôi muốn thêm nó vào Máy chủ JasperReports. Khi tôi xác định đường dẫn đến tệp jar của tôi, hãy sử dụng Công cụ -> Tuỳ chọn -> Trình đơn Lớp học trong iReport của tôi, nó hoạt động chính xác. Nhưng nó không hoạt động, khi tôi truy cập vào JR Server từ một máy chủ lưu trữ khác.Tệp Jar tùy chỉnh trên Jasper Server

Tôi phải làm gì để tạo tệp jar này trên JR Server này, từ bất kỳ đâu?

+3

Bạn nên sao chép tệp * jar * của mình vào thư mục 'WEB-INF \ lib' (đối với ứng dụng *** jasperserver ***). Và đừng quên khởi động lại máy chủ ứng dụng (có thể là * Tomcat * trong trường hợp của bạn) –

+0

Cảm ơn bạn. Tôi sẽ cố gắng làm ngay bây giờ – yura

+0

Cảm ơn bạn một lần nữa. Nó hoạt động tuyệt vời! – yura

Trả lời

2

Tùy chọn 1 - Nếu bạn muốn sử dụng Jar của mình trong một số báo cáo.

Bạn nên "Thêm Jar" (như được gọi trong trình quản lý kho lưu trữ iReport) vào một số thư mục trong cây thư mục Jasper Server. Sau đó, "Thêm tham chiếu" vào tài nguyên này trong phần Tài nguyên của báo cáo cụ thể của bạn.

Option2 - Bạn cần một bình trong báo cáo specifc.

Sử dụng tùy chọn "Thêm Jar" trong phần tài nguyên của báo cáo cụ thể.

Làm việc một cách hoàn hảo trên JasperServer 4,7

1

Thêm jar như một nguồn lực của báo cáo (nếu đó là một thời gian sử dụng) hoặc thêm nó vào một số con đường ở Jasper Report Server và thêm một tham chiếu đến nó như Alex gợi ý.

Tôi khuyên bạn nên tạo một số thư mục trong Máy chủ Jasper (thông qua giao diện web hoặc iReport) và đặt tất cả thường được sử dụng vào đó (đảm bảo quản lý đúng quyền ROLE_USER sẽ có quyền truy cập vào tệp nhưng bạn có thể xóa nó từ thư mục để nó không được liệt kê).

Sau đó, sử dụng tham chiếu trên các báo cáo cần những báo cáo đó. Ví dụ, tôi sử dụng nó cho biểu tượng báo cáo và một số lớp Java trợ giúp.

Sửa như @NormTatlock hỏi thêm chi tiết về làm thế nào để làm điều đó:

  1. Tạo gói my.sample.package Java của bạn ví dụ:

    public class MyClass kéo dài JRDefaultScriptlet ...

  2. Biên dịch và tải bình lên làm tài nguyên sử dụng tên đầy đủ của nó (ví dụ: my.sample.package.jar) hoặc tải nó lên một thư mục khác và tạo tham chiếu đến nó trong thư mục tài nguyên của báo cáo.

  3. Chỉnh sửa báo cáo và thiết lập thuộc tính Scriptlet Class để:

    my.sample.package.MyClass

  4. Hoặc thiết lập thuộc tính trong JasperReports thẻ XML (thẻ root) như:

    scriptletClass = "my.sample.package.MyClass"

  5. Sử dụng scriptlet trong báo cáo của bạn như thế này:

    $ P {REPORT_SCRIPTLET}.myMethod (myParam1, myParam2)

Nhớ loại trả về của phương pháp và cứ tiếp tục.

Hy vọng điều đó sẽ hữu ích. Chúc vui vẻ!

+0

Có phải những tập lệnh này trong báo cáo của bạn không? Nếu vậy, bạn có thể đưa ra một ví dụ về chính xác cách bạn đang tham chiếu chúng trong báo cáo của bạn, và id tài nguyên nào, v.v ... bạn đã sử dụng khi tải chúng lên máy chủ jasper. Không có vấn đề gì tôi cố gắng tập lệnh của tôi không thể được tìm thấy trên máy chủ jasper. Cảm ơn! – ununiform

+0

@NormTatlock, tôi đã chỉnh sửa bài đăng của tôi để trả lời câu hỏi của bạn :) – mjsr

Các vấn đề liên quan