如何在Maven中使用平台架构来确定依赖关系?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (75)

正如问题所述,有一种很好的方式可以在构建maven文件时使用基于平台架构的依赖关系。我了解配置文件以及如何使用它们。为了这个特殊的目的,我不想把它们加入到我的构建中。

详细的问题可以描述如下:

  • 多模块maven项目
  • 项目中的持续集成和人员使用均匀分布的平台体系结构
  • 依赖于本机系统库

我不想在设置中使用的解决方案

  • 没有依赖冗余
  • 没有maven配置文件(或至少maven配置文件是由平台架构自动选择的)

举个例子:

PERSON1

  • (使用Linux i686)构建项目
  • x86 libaries捆绑到每个子项目中,并且生成的文物正在构建中

PERSON2

  • (使用win32)构建项目
  • 如上所述捆绑32位架构

持续集成:

  • 像linux amd64上的生产环境一样运行
  • 整合amd64库
提问于
用户回答回答于

我不知道有没有配置文件这样做,这是将配置文件添加到maven的主要用例,你可以使用下面的方法来完成它:

<profiles>
  <profile>
    <activation>
      <os>
        <name>Windows XP</name>
        <family>Windows</family>
        <arch>x86</arch>
      </os>
    </activation>
    ...
  </profile>
  <profile>
    <activation>
      <os>
        <family>Linux</family>
        <arch>x64</arch>
      </os>
    </activation>
    ...
  </profile>
  <profile>
    <activation>
      <property>
         <name>integration-test</name>
      </property>
    </activation>
    ...
  </profile>
</profiles>
用户回答回答于

使用配置文件有什么问题?他们正是为这种情况而准备的。你可以通过OS /平台指定配置文件操作并添加依赖项。

另一种方式是将核心库移到单独的模块中,并为每个平台都有一个模块。

扫码关注云+社区

领取腾讯云代金券