У меня есть приложение, в котором я представляю Spring boot. В нем есть несколько отчетов BIRT, определенных как файлы .rptdesign. Чтобы их обработать, в web.xml было определено следующее отображение.
<servlet>
<servlet-name>EngineServlet</servlet-name>
<servlet- class>org.eclipse.birt.report.servlet.BirtEngineServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>EngineServlet</servlet-name>
<url-pattern>/output</url-pattern>
</servlet-mapping>
И зависимость Maven:
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.eclipse.birt.runtime</artifactId>
<version>${eclipse.runtime.version}</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.apache.poi</artifactId>
</exclusion>
</exclusions>
</dependency>
Я пытаюсь настроить то же самое с помощью Spring-Boot. Maven зависимость такая же.
Я попытался зарегистрировать сопоставление через ServletRegistrationBean:
@Bean
public ServletRegistrationBean exampleServletBean() {
ServletRegistrationBean bean = new ServletRegistrationBean(
new BirtEngineServlet(), "/output/*");
bean.setLoadOnStartup(1);
return bean;
}
Этот код не компилируется как класс: BirtEngineServlet не может быть преобразован в тип. Я попытался добавить больше компонентов BIRT в Maven:
<dependency>
<groupId>org.eclipse.birt</groupId>
<artifactId>report-engine</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.birt</groupId>
<artifactId>org.eclipse.birt.report.engine</artifactId>
<version>2.2.0-20070705</version>
</dependency>
<dependency>
<groupId>org.eclipse.birt</groupId>
<artifactId>core</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>viewservlets</artifactId>
<version>4.2.0</version>
</dependency>
Другим вариантом, который я пробовал, было определение моей собственной BirtEngineFactory. Код скомпилирован, но классы BIRT Runtime (то есть BirtException) не были найдены во время выполнения с выданным NoClassDefFoundException.
Какие-либо предложения, как настроить BIRT с загрузкой Spring с помощью Maven?