2012-10-09 11 views
7

Napisałem kilka klas Java, utworzony plik JAR. Chcę dodać go do JasperReports Server. Kiedy ustalam ścieżkę do mojego pliku JAR, używając Narzędzia -> Preferencje -> Menu Ścieżka do Classpath w moim iReport, działa poprawnie. Ale to nie działa, kiedy uzyskuję dostęp do JR Server z innego hosta.Niestandardowy plik Jar na serwerze Jasper

Co muszę zrobić, aby udostępnić ten plik jar na tym serwerze JR z dowolnego miejsca?

+3

Powinieneś skopiować plik * jar * do folderu 'WEB-INF \ lib' (dla aplikacji *** jasperserver ***). I nie zapomnij zrestartować serwera aplikacji (może to być * Tomcat * w twoim przypadku) –

+0

Dziękuję. Spróbuję to teraz zrobić. – yura

+0

Jeszcze raz dziękuję. Działa świetnie! – yura

Odpowiedz

2

Opcja 1 - Jeśli chcesz użyć swojego Słoika w kilku raportach.

Powinieneś "Dodaj Słoik" (jak wywołano w menedżerze repozytorium iReport) do jakiegoś folderu w drzewie katalogowym Jasper Server. Następnie "Dodaj odwołanie" do tego zasobu w sekcji Zasoby konkretnego raportu.

Opcja 2 - Potrzebujesz słoika w raporcie szczegółowym.

Użyj opcji "Dodaj słoik" w sekcji zasobów konkretnego raportu.

Pracował idealnie na JasperServer 4,7

1

Dodaj słoik jako zasób raportu (jeśli jest to jedno użycie) lub dodać go do jakiejś ścieżki w Jasper serwera raportów i dodać odwołanie do niego jako Alex zaproponował.

Proponuję Ci utworzyć kilka folderów w Jasper Server (przez interfejs WWW lub iReport) i umieścić wszystkie powszechnie używane pliki tam (pamiętaj, aby poprawnie zarządzać uprawnieniami ROLE_USER powinien mieć dostęp do pliku, ale możesz go usunąć z folderu, więc nie ma na liście).

Następnie użyj odnośników do raportów, które ich potrzebują. Na przykład używam go do logo raportu i niektórych klas pomocniczych Java.

Edit jako @NormTatlock poprosił więcej szczegółów na temat jak to zrobić:

  1. Stwórz swój pakiet my.sample.package Java na przykład:

    public class MojaKlasa rozciąga JRDefaultScriptlet ...

  2. Skompiluj i prześlij słoik jako zasób, używając jego pełnej nazwy (np. My.sample.package.jar) lub prześlij go do innego folderu i utwórz odniesienie do niego w folderze zasobów raportu.

  3. Edit raport i ustawić właściwość skrypty klasę do:

    my.sample.package.MyClass

  4. lub ustawić właściwość w JasperReports znaczników XML (korzeń) tag jak:

    scriptletClass = "my.sample.package.MyClass"

  5. Użyj scriptlet w raporcie tak:

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

Pamiętaj o typie zwracanej metody i tak dalej.

Mam nadzieję, że to pomaga. Baw się dobrze!

+0

Czy te skrypty występują w raportach? Jeśli tak, możesz podać przykład dokładnie, w jaki sposób odwołujesz się do nich w raporcie i jaki identyfikator zasobu, itp. ... użyłeś przy przesyłaniu ich na serwer jaspisowy. Bez względu na to, czego próbuję, mój scriptlet nie może być znaleziony na serwerze Jaspera. Dzięki! – ununiform

+0

@NormTatlock, edytowałem mój wpis, aby odpowiedzieć na twoje pytanie :) – mjsr