Я использую Netbean для Java, моя проблема в том, что я не могу загрузить отчет JRXML после того, как я экспортирую проект для запуска с файлом JAR
Я знаю, что эта тема уже существует, но, к сожалению, они не решают мою проблему. Мой код ниже
try {
String prID = txt_prno.getText();
HashMap hash=new HashMap(1);
hash.put("ProductID",prID);
InputStream file = getClass().getResourceAsStream("/myreports/reportpr1.jrxml");
System.out.println("path_1:"+file);
System.out.println("path_2:"+file.toString());
JasperDesign jd = JRXmlLoader.load(file);
JasperReport jr = JasperCompileManager.compileReport(jd);
JasperPrint jp = JasperFillManager.fillReport(jr, hash, conn);
JasperViewer.viewReport(jp,false);// jv = new JasperViewer(jp,false);
} catch (JRException ex) {
System.out.println(ex);
}
Здесь моя структура файла введите описание изображения здесь
Это некоторый код ошибки из CMD. Это очень длинный след стека
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/MethodUtils
at org.apache.commons.digester.CallMethodRule.end(CallMethodRule.java:632)
at org.apache.commons.digester.Rule.end(Rule.java:257)
at org.apache.commons.digester.Digester.endElement(Digester.java:1345)
at net.sf.jasperreports.engine.xml.JRXmlDigester.endElement(JRXmlDigester.java:199)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
Это путь к файлу отчета, введите описание изображения здесь
Теперь их больше нет после загрузки и добавления следующего файла в библиотеку моего проекта commons-beanutils-1.9.3-bin.tar.gz
, Но это сообщение появляется вместо ошибки
net.sf.jasperreports.engine.JRException: Error compiling report java source files : C:\Users\IT\report32name_1548766294622_936064.java
1 ответ
Ваше сообщение об ошибке указывает на то, что вам не хватает commons-beanutils-xxxjar
если вы используете Maven, добавьте зависимость к этому банку. В противном случае вы можете загрузить недостающую банку, а затем щелкнуть правой кнопкой мыши свой проект в Netbeans > Библиотеки> Добавить JAR/ папку> выбрать банку> Открыть