8

我试图弄清楚如何通过使用JBoss Modules将 JasperReports、Apache POI 和其他重型库直接放入 JBoss AS 来使我的 WAR 更轻。

现在,Jasper 使用许多库来生成 PDF 或 XLS 文件,如您在此处所见。我们的模板已经很老了,我们被旧的 jasper 版本 3.7.1 卡住了,它当然使用旧版本的库,例如 JBoss AS 7.1.1 模块中已经存在的 commons。

如何制作一个“大”模块,其中包含 Jasper 使用的所有 jar,并使用较新的模块保留应用程序的其他部分?

将所有 jar 放入单独的目录似乎工作量很大,但不能保证成功,我们可以将所有内容放入一个模块而不创建类似包的目录吗?

4

2 回答 2

4

我们最近开始使用 JBoss 模块,并为 Maven 编写了一个小插件,它基于 XML 描述符生成带有 module.xmls 的模块文件夹。该插件名为smartics-jboss-modules-maven-plugin,您可以在项目的博客中找到有关它的更多信息。

我们刚刚开始使用它,但它已经使我们项目的 POM 和 module.xml(加上目录结构)之间的同步过程变得非常容易。

这种方法的缺点是您必须学习额外的 XML 描述符并且必须配置额外的 Maven 插件。

如果您想尝试一下,该插件已获得 Apache License 2.0 的许可。

于 2013-11-11T17:54:49.127 回答
1

可以通过 maven 自动为外部库创建 JBoss 模块,如SO 上的另一个答案中所述。作者也发布了一个GitHub 项目。这可以减轻管理大量传递依赖的痛苦。

于 2013-11-11T06:31:00.963 回答