Я использую 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/ папку> выбрать банку> Открыть

Другие вопросы по тегам