2015-03-31 80 views
0

我有多个WAR项目,每个WAR项目都包含一部分Web应用程序逻辑,例如:一个WAR将处理身份验证,而另一个将专注于消息传递。我选择这样做,一次只关注单个应用程序(Separation of Concerns)。这些模块中的一些(WAR's)依赖于其他模块,但是我还没有对依赖部分进行编码(一旦它们“连接”,我可以允许它们进行适当的通信)。所以,我需要将这些不同的WAR包装在一起。我相信我的选择是:将多个项目打包成一个

  • EAR文件。这种方法的问题是EAR文件中的WAR不会在它们之间保持单个会话。
  • Maven。不幸的是,我对Maven几乎没有经验。
  • 手动添加每个包到新的WAR。我将如何定义文件夹结构?单个源文件夹中包含多个源文件夹或多个包?

所以,我的问题:如何将多个项目打包成一个?

回答

0

Maven是一种正交于您的问题。

如果我是你,我会在单个源文件夹中构建一个包含所有源代码的单个Web应用程序(WAR)。使用java package结构来分隔您的疑虑。这也将简化您的开发过程。

如果java源文件的数量变大,您可以考虑将它们拆分为jar项目并将随后的jar文件添加到WAR文件的WEB-INF/lib目录中。然后,Maven将有助于构建您的相关jar文件并组装WAR。

而且请不要建立自己的认证子系统。您可以使用Container Managed Authentication,或者如果需要更复杂的Spring SecurityKey Cloak,其中任何一种都可以用零行代码解决您的问题。

相关问题