在EAR中使用相同的jar和公共持久性单元添加多个war

时间:2012-08-14 11:53:52

标签: ear

我需要有关EAR设计问题的帮助。我对WAR文件有所了解,但在处理EAR文件方面我是新手。

我有4个基于maven的项目 -

common (JAR, containing common utilities, domain object and JPA/Hibernate based DAOs)
core (WAR, dependent on the common project)
front (WAR, dependent on the common project)
back (WAR, dependent on the common project)

我只有3个主要的WAR项目,它们使用几乎相同的JAR文件集(Spring,Hibernate,Struts等)和DAO层。

问题1:如何使用Eclipse IDE将项目打包到EAR中?

问题2:我怎样才能确保我没有相同JAR文件的重复副本?

问题3:如何以非常有效的方式让所有三个Web项目共享我的DAO层(Hibernate)?

问题4:这是一个好的设计吗?

如果你能提供一些帮助,我会非常感激。

问候。

1 个答案:

答案 0 :(得分:0)

简单的方法是使用Maven 请参阅maven-ear-plugin:Documentation here

在你的情况下,你必须将依赖性添加到你耳中的普通jar中,并将依赖性添加到你提供的“战争”中的普通jar中。 然后将webmodules添加到您的耳朵并指定defaultLibBundleDir,如<defaultLibBundleDir>/lib</defaultLibBundleDir>