JasperReport Erreur de l'évaluation de l'expression: texte Source : new java.lang.Integer(1)
Je suis l'aide de JasperSoft Studio 5.1.0 pour la création de mon rapport. C'est la bibliothèque que j'ai utilisé jusqu'à présent
- commons-beanutils-1.8.3.jar commons-collections.jar
commons-digester-1.7.jar commons-javaflow-20060411.jar
commons-logging-1.1.3.jar groovy-all-1.7.5.jar itext-2.1.7.jar
jasperreports-5.1.0.jar
J'essaie à l'aide du paramètre et il ne montre pas d'erreur quand je vois l'aperçu sur JasperSoft Studio, mais lorsque j'essaie d'imprimer à partir de mon programme Java c'est afficher une erreur comme ceci:
net.sf.jasperreports.moteur.de remplissage.JRExpressionEvalException: Erreur de l'évaluation de l'expression :
Source texte : new java.lang.Integer(1)
le code que j'utilise sur mon programme pour l'action effectuée est comme ça
try
{
String NamaFile = "src/Laporan Penawaran.jasper";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection konek = Koneksi.getKoneksi();
HashMap hash = new HashMap();
hash.put("param1",no_tender.getText());
File file = new File(NamaFile);
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(file.getPath());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hash,konek);
JasperViewer.viewReport(jasperPrint);
} catch(Exception ex) {
System.out.println(ex);
}
Je viens vous demandez-vous peut-être mon jasper fichier d'erreur, mais lorsque je tente d'effacer tous les champs et en utilisant uniquement du texte statique à l'erreur existe toujours. Que suis-je censé faire?
- Vous devriez poster le fichier jrxml
Vous devez vous connecter pour publier un commentaire.
eh bien, je suis juste essayer de mettre à jour groovy-tous à la version 2. Et après cela, il n'y a pas de problème et de travailler en douceur 🙂
remarque: assurez-vous que vous utilisez une version spécifique pour chaque bibliothèque, en quelque sorte, le nouveau n'est pas toujours à la hauteur de votre rapport
FIXER pour moi:
j'ai changé de type de champs à partir de java.les mathématiques.BigInteger à java.les mathématiques.BigDecimal
Ci-dessous est toute trace de la pile par qui j'ai été en mesure d'identifier le problème.
CORRECTIF a Fonctionné pour moi
"groovy"
à"Java"
et c'est corrigé .jasperreports-5.1.2.jar
.org.codehaus.groovy.runtime.BytecodeInterface8
n'est pas dans le jasperreport pot, mais dans le groovy pot (inclus dans le parc national jasper rapport de distribution de dossier lib), ce pot doit être dans le classpath si vous utilisez un language="groovy"