2012-10-09 10 views
7

Ho scritto alcune classi Java, creato il file jar. Voglio aggiungerlo a JasperReports Server. Quando determino il percorso del mio file jar, utilizzando il menu Strumenti -> Preferenze -> Percorso di classe nel mio iReport, funziona correttamente. Ma non funziona, quando accedo a JR Server da un altro host.File Jar personalizzato su Jasper Server

Cosa devo fare per rendere questo file jar disponibile su questo server JR, da qualsiasi luogo?

+3

È necessario copiare il file * jar * nella cartella 'WEB-INF \ lib' (per *** l'applicazione jasperserver ***). E non dimenticare di riavviare il server delle applicazioni (potrebbe essere * Tomcat * nel tuo caso) –

+0

Grazie. Cercherò di farlo adesso – yura

+0

Grazie ancora. Funziona alla grande! – yura

risposta

2

Opzione 1 - Se si desidera utilizzare il Jar in più rapporti.

È necessario "Aggiungi Jar" (come viene chiamato in Gestione repository iReport) in una cartella nella struttura di cartelle di Jasper Server. Quindi "Aggiungi riferimento" a questa risorsa nella sezione Risorse del tuo report specifico.

Opzione2: è necessario un contenitore in un report specifico.

Utilizzare l'opzione "Aggiungi barattolo" in una sezione risorse del report specifico.

funzionato perfettamente sul JasperServer 4.7

1

Aggiungi il vaso come una risorsa della relazione (se si tratta di un uso di volta) oppure inserirlo in qualche percorso a Jasper Server report e aggiungere un riferimento ad esso come suggerito Alex.

Ti suggerisco di creare alcune cartelle in Jasper Server (tramite interfaccia web o iReport) e inserire tutti i file comunemente utilizzati lì (assicurati di gestire correttamente le autorizzazioni ROLE_USER dovrebbe avere accesso al file ma puoi rimuoverlo dalla cartella quindi non è elencato).

Quindi utilizzare i riferimenti sui report che hanno bisogno di quelli. Ad esempio, lo uso per il logo del report e alcune classi Java helper.

Modifica come @NormTatlock ha chiesto maggiori dettagli su come farlo:

  1. Create il vostro pacchetto my.sample.package Java per esempio:

    public class MyClass estende JRDefaultScriptlet ...

  2. Compilalo e carica il jar come risorsa utilizzando il suo nome completo (ad esempio my.sample.package.jar) o caricalo in un'altra cartella e crea un riferimento ad esso nella cartella delle risorse del report.

  3. modificare il report e impostare la proprietà Scriptlet Classe:

    my.sample.package.MyClass

  4. oppure impostare la proprietà nelle JasperReports tag XML (il tag radice) come:

    scriptletClass = "my.sample.package.MyClass"

  5. Utilizzare la scriptlet nel rapporto come questo:

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

Considera il tipo di ritorno dei metodi e così via.

Spero che aiuti. Divertiti!

+0

Questi script sono presenti nei rapporti? In tal caso, puoi fornire un esempio di come stai facendo riferimento a loro nel tuo rapporto, e quale id risorsa, ecc ... hai usato quando li hai caricati sul server jasper. Non importa cosa provi, il mio scriptlet non può essere trovato sul server jasper. Grazie! – ununiform

+0

@NormTatlock, ho modificato il mio post per rispondere alla tua domanda :) – mjsr