加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如果使用的JVM是x86或x64,则以不同方式解析Maven依赖项?

发布时间:2020-12-14 05:42:26 所属栏目:Java 来源:网络整理
导读:我有一个Maven存储库设置为托管一些dll,但我需要我的Maven项目下载不同的dll,具体取决于使用的JVM是x86还是x64. 因此,例如,在运行x86版本的JVM的计算机上,我需要将ABC.dll作为依赖项从存储库下载,但在运行x64版本的JVM的另一台计算机上,我需要它下载XYZ.dll.
我有一个Maven存储库设置为托管一些dll,但我需要我的Maven项目下载不同的dll,具体取决于使用的JVM是x86还是x64.

因此,例如,在运行x86版本的JVM的计算机上,我需要将ABC.dll作为依赖项从存储库下载,但在运行x64版本的JVM的另一台计算机上,我需要它下载XYZ.dll.

我该怎么做呢?一个示例pom.xml文件会很好.

解决方法

这适用于任何VM.您可以根据环境使用 profiles进行备用配置.

配置文件包含一个激活块,它描述了何时激活配置文件,然后是通常的pom元素,例如依赖项:

<profiles>
  <profile>
    <activation>
      <os>
        <arch>x86</arch>
      </os>
    </activation>
    <dependencies>
     <dependency>
        <!-- your 32-bit dependencies here -->
     </dependency>
    </dependencies>
  </profile>
  <profile>
    <activation>
      <os>
        <arch>x64</arch>
      </os>
    </activation>
    <dependencies>
        <!-- your 64-bit dependencies here -->
    </dependencies>
  </profile>
</profiles>

正如您提到的DLL,我假设这只是Windows,所以您可能还想添加< family> Windows< / family>在< os>下标签.

编辑:在64位操作系统上混合使用32位虚拟机时,您可以通过运行maven目标来查看虚拟机为os.arch系统属性提供的值

mvn帮助:评估

然后进入

${} os.arch

或者,目标帮助:系统列出所有系统属性(没有特定的顺序.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读