2013-11-01 24 views
8

我想通过使用JBoss Modules直接将JasperReports,Apache POI和其他重磅库文件放入JBoss AS来使我的WAR更轻。用于大量jar依赖项的JBoss模块如何

现在,Jasper使用许多许多库来生成PDF或XLS文件,您可以看到here。我们的模板非常陈旧,而且我们仍旧使用旧版本的jasper 3.7.1版本,当然这个版本使用了旧版本的库,例如已经存在于JBoss AS 7.1.1模块上的公共版本。

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

把所有的jar放到不同的目录下看起来好多工作都没有保证成功,我们可以把所有东西放到一个模块中而不需要创建类似于目录的目录吗?

+0

我想如果你有一个maven项目,如果你有父pom中定义的所有公共库,那么你可能只能在各个模块/项目中定义模块特定的库。我不确定这是不是你问的问题。 – Mukus

回答

4

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

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

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

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

1

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

相关问题