Библиотека динамических отчетов не работает при экспорте в jar

Мой проект работает и хорошо компилирует отчеты в Eclipse, у меня была эта проблема в течение месяца и я пробовал все, что мог найти, чтобы исправить это. Кажется, что jar присутствует во время выполнения этой тестовой функции:

public static boolean testLibrary() {
    try {
        @SuppressWarnings("unused")
        Class<?> cl = Class.forName("net.sf.dynamicreports.jasper.builder.JasperReportBuilder");
        BasicConfigurator.configure();
    } catch (ClassNotFoundException e1) { e1.printStackTrace(); Window.write("dynamicreports library not found"); Window.write(e1.getMessage()); return false; }

    Window.write("library is installed.");
    System.out.println("dynamicreports library is found.");
    return true;
}

Он возвращает true в экспортированном jar, но даже не запускает журнал отладки для создания отчета (log4j). Библиотека устанавливается через maven, и при выборе "Скопировать необходимые библиотеки в подпапку рядом с сгенерированным JAR" я вижу файлы физической библиотеки при экспорте. Я попытался напрямую ссылаться на библиотеку через мой путь к классу Java, и он все еще не работает.

РЕДАКТИРОВАТЬ: я добавил свой основной метод фактического отчета в testLibrary, и он возвратил NoClassDefError, связанный с net.sf.dynamicreports.jasper.builder.JasperReportBuilder, хотя я непосредственно тестирую его в приведенном выше коде, и он возвращает нормально. Я воссоздал проект без Maven, чтобы попытаться вручную добавить библиотеки с простыми путями классов, но он все еще не работает.

0 ответов

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