我有一个基于Maven的J2EE项目结构
Customer (root pom)
|
|------ WebTier (JSF 2/Primefaces)
|
|------ BusinessTier (EJB 3.*, interfaces, interface impl)
|
|------ PersistenceTier (JPA 2)
|
|------ CustomerEar
现在我发现我需要一个新的Java类或类来处理基本例程 我想将这个Utility类放在WebTier下并不是一个好主意,因为也可以从BusinessTier中使用Utilities。 它是创建独立Java项目的“最佳实践”,实现必要的类并将此jar包含在耳中吗?
答案 0 :(得分:0)
在这种情况下尝试并证明“最佳实践”是很难的,因为这是一个特定于项目的问题。
添加“CommonLibrary”项目或者像WebTier和BusinessTier的依赖项一样,没有任何内在错误。事实上,我现在正在进行的项目几乎就是那个结构(带有一个公共库)。
由于这是一个maven项目,只需确保“CommonLibrary”项目依赖范围在Business / Web / Persistence层中设置为“provided”,并在ear项目中设置为“compile”。
e.g。在WebTier中,依赖性将是:
<dependency>
<groupID>group.name</groupID>
<artifactID>common-library</artifactID>
<scope>provided</scope>
</dependency>
编辑:范围将在Web层中“提供”,因为它将是.war。其他层将是jar,因此范围可以为持久性和业务层“编译”。
答案 1 :(得分:0)
根据我的经验,我建议为实用程序提供单独的项目文件夹,并将其包含在需要的jar中
优点是
易于维护,因为您需要更改一次代码。
插件&amp;在您需要时拔掉电源插头。
apache string util
http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
bean util