繁体   English   中英

如何在Java Web应用程序之间共享通用组件?

[英]How can I share common components between Java web applications?

环境

  • IDE:Netbeans 6.9
  • App Server:Glassfish 3
  • 框架:Spring,Hibernate,Struts 2

问题

我有2个Web应用程序。 我想在它们之间共享资源 - 即身份验证形式jsp和其他资产(js - yui,jquery / images / css)。 我将添加更多Web应用程序,这些应用程序也需要访问这些常用组件。

作为最后的手段,我将使用公共资产创建另一个Web项目 - 包括通过http://common.mydomain

其他人怎么做到这一点? 我可以创建一个Web资源jar / war并在两个应用程序中包含它吗?

我正在试验,所以将更新任何进展的问题。

非常感谢。

Netbeans有一个功能来做到这一点。 仅为共享组件创建新项目。 将项目列为需要它的项目的依赖项,并确保在构建过程中两个项目都在IDE中打开。

IDE不可知的方式(我在我自己的项目中使用它。)
将是:

  1. 使用maven来管理你的项目
  2. 将您的共享组件构建到自己的.jar中
  3. 设置本地存储库服务器(nexus,artifactory)服务器来托管共享的.jar
    (如果你是唯一的开发者,你可以用mvn install解决这个问题)
  4. 列出你的新jar作为对需要它的项目(战争)的依赖。

将这些“通用”组件放在单独的模块中(或在几个单独的模块中),并从应用程序的其他部分依赖此模块。 (我不确定它是如何在NetBeans中调用的,在IntelliJ IDEA中它被称为模块,在Eclipse中 - 它是同一工作区中的一个单独项目)。

在eclipse中,您必须创建一个实用程序项目和一个包含实用程序项目和当前Web应用程序的ear项目。 然后,您可以将公共代码移动到实用程序项目,并将耳朵部署到glassfish。

必须通过类路径定位公共资源。 使用JSF 2这很容易

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM