我设置了一个 Maven 存储库来托管一些 dll,但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll。
例如,在运行 x86 版本 JVM 的计算机上,我需要从存储库下载 ABC.dll 作为依赖项,但在另一台运行 x64 版本 JVM 的计算机上,我需要下载 XYZ.dll。
我该怎么做呢?一个示例 pom.xml 文件就很好了。
这适用于任何虚拟机。您可以使用profiles http://maven.apache.org/guides/introduction/introduction-to-profiles.html根据环境有备用配置。
配置文件包含一个激活块,它描述了何时使配置文件处于活动状态,后面是常见的 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>
tags.
编辑:在 64 位操作系统上混合 32 位 VM 时,您可以看到 VM 为os.arch
通过运行 Maven 目标来更改系统属性
mvn help:evaluate
然后进入
${os.arch}
或者,目标help:system
列出所有系统属性(无特定顺序。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)