两个战争模块集成

时间:2014-05-07 14:23:30

标签: java spring maven

我做了两个maven项目:第一个是带有弹簧安全性的通用认证模块,具有以下结构:

ear 
|...warModule
|    |...ejbModule
|...ejbModule

第二个是具有这种结构的CRM

ear
|...warModule
    |...ejbModule
|...ejbModule 

现在我想整合两者,以便我可以通过我的身份验证项目(控制网址访问,权限......)来管理CRM安全性吗?有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

一种方法是,在第二个项目POM文件中将第一个项目声明为依赖项。

有关详细信息,请查看:Maven Dependency Mechanism

添加依赖项的示例代码:

 <project>
  ...
  <dependencies>
    <dependency>
      <groupId>group-a</groupId>
      <artifactId>artifact 1</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>group-a</groupId>
      <artifactId>artifact 2</artifactId>
      <version>1.0</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
</project>`

第二种方式,我建议使用Overlay方法来集成多个模块,使用overlay的另一个好处是可以跨多个应用程序共享公共资源。

答案 1 :(得分:0)

您只需在一个 pom.xml 文件中添加一个依赖项声明,该文件指向另一个工件。例如,假设下行线是您的CRM pom文件:

<project>
  <groupId>crm.group.id</groupId>
  <artifactId>crm-artifact-id</artifactId>
  <version>1.0</version>
  <packaging>ear</packaging>

  <dependencies>
    <dependency>
      <groupId>authentication.group.id</groupId>
      <artifactId>authentication-artifact-id</artifactId>
      <version>1.0</version>
    </dependency>
  </dependencies>
</project>

这只是一个示例,应该根据您的项目/模块组/工件ID进行更新。