2017-06-13 50 views
0

我有一个多模块项目管理Maven的依赖关系。如何在不同配置文件的不同模块上添加不同的依赖关系?

我在子模块的插件中有多插件。我想在不同的场景中添加不同的插件,但是在每种场景中都需要一些插件。

'plugins'模块中的pom.xml。

<profiles> 
    <profile> 
     <id>internal</id> 
     <modules> 
      <module>first-plugin</module> 
     </modules> 
     <dependencies> 
      <dependency> 
       <groupId>com.first.groups</groupId> 
       <artifactId>first-plugin</artifactId> 
       <version>${project.version}</version> 
      <dependency> 
     </dependencies> 
    </profile> 
</profiles> 
<modules> 
    <module>second_module</module> 
</modules> 
<dependencies> 
    <dependency> 
     <groupId>com.first.groups</groupId> 
     <artifactId>second-module</artifactId> 
     <version>${project.version}</version> 
    <dependency> 
</dependencies> 

不管我运行“MVN包”或“包MVN -P内部”,则它只有容器第二模块的依赖关系。任何人都知道原因?

我的Maven版本3.3.9是

回答

0

所以,如果你问这个想法的方式来做到这一点比这将是这样的:

  1. 创建一个父项目负责建设所有项目 例如
  <modules> 
      <module>first _module</module> 
      <module>second_module</module> 
      </modules> 
  • 使用依赖管理管理依赖

    <dependencyManagement/> tag 
    
  • 如果在不是把这种依赖性的所有模块共用的依赖在父项目中,并将该项目作为父项目并在所有模块中添加标签。所以,所有的项目将得到共同的依赖

  • 只在特定的项目中提出具体的依赖项
  • 小心循环依赖。非常仔细地创建并提供依赖关系。
  • +0

    我不认为这是一个好主意。它会打破我的项目构造。我仍然想使用maven配置文件来解决这个问题。 –

    相关问题