1

我正在运行一个具有多种不同功能的应用程序,它们是完全独立的;唯一的原因是我一起运行它们是我在内存有限的小型 vps 上运行它们;

我期待着:

  1. 单独开发每个模块

  2. 使用一些 ant 任务将它们组合成一个应用程序;

对于一个ear文件,我们可以将几个不同的war文件合并为一个,它们可以正常运行而不会相互影响,但是,由于我正在运行一个tomcat并且不想涉及像jboss之类的重型容器,一个ear文件不可用;

有没有办法可以做到这一点?比如我们独立开发一些东西,然后把它们打包成一个jar,把它放到web-inf/lib中就可以了?谢谢。

我使用的选项:

  1. 在一个应用程序中开发它们,使用不同的目录来分隔它们
  2. 在许多不同的应用程序中开发它们并将它们部署为tomcat中的不同Web应用程序,但这似乎将web-inf / lib下的重复类加载到内存中,这不是一个好的选择,而我不喜欢将它们全部放在雄猫/库...
4

2 回答 2

4

您可以使用 Maven(如果您乐于使用 Maven 而不是 Ant)和适用于 Maven 的 Cargo 插件来执行此操作。它具有“uberwar”打包格式,允许将多个 WAR 文件合并到一个组合的 WAR 文件中。详细信息可在此处获得:

http://cargo.codehaus.org/Merging+WAR+files

于 2012-09-06T04:38:19.470 回答
0

您需要建造某种墙,因此会存在技术限制,以避免糟糕的开发人员破坏您的设计,从而产生不必要的依赖。您可以将所有 java 类放入新合并的 Web 项目中嵌入的不同 jar 中,并将 Web 内容保存在同一个项目中但单独的文件夹中。

Maven+SVN 可以为新项目托管和提供 jar。

于 2014-08-21T22:23:26.287 回答