打包Java Web应用程序:.war或符号链接到依赖项?

我想为Ubuntu(和Debian)打包我的java Web应用程序http://kunagi.org/ 。

包是否应该安装包含所有必需依赖项( .jar文件)的.war文件? 或者包是否应该在没有.jar文件的情况下安装解压缩的Web应用程序并将符号链接放入WEB-INF/libs/目录中?

传统上,java包装的上游和分销级别问题之间存在一些摩擦。 捆绑依赖关系一直是争论的主要问题之一。 安全团队特别将此视为不必要的维护负担。 捆绑库的软件包可能会被Debian拒绝。

Debian中的Java webapp打包策略仍在不断发展。 目前正在围绕此问题讨论Debian增强提议(DEP) 。 它旨在

提出了一个文件布局,一组约定和最佳实践,以及一个支持脚本接口,用于打包Java Web应用程序(servlet)并将它们部署在容器中。

这个讨论发生在debian-java邮件列表上 。 它也可能是您询问有关Java包装的更多问题的最佳位置。 我相信你会找到愿意为你审查你的包裹的人,而且很可能是愿意上传它的赞助商。

以下是一些可能感兴趣的更新链接:

  • Java的Debian策略
  • 用于在Debian中打包Java应用程序和库的工具
  • Debian Java打包示例

为什么你应该使用符号链接? 如果在Tomcat(或Jboss)集群中运行应用程序,则使用.war包更灵活。