java - 根据操作系统在 Maven 项目中包含一个 Jar

标签 java maven jar build

我在 Maven 项目中使用第三方软件。 Windows 和 Mac OS 的 API 调用相同,但 JAR 文件不同。有没有办法在运行时识别操作系统并从 Maven 项目中的 lib 文件夹加载适当的 jar?我希望能够向我的客户提供这个最终的可执行 Jar,他们可能会在 Windows 或 Mac OS 中使用我的最终 Jar,并且应该能够通过将我的 Jar 包含在他的项目中来处理它。目前,我的客户将 Jar 包含在他的类路径中,这似乎是一种可怕的做法。

最佳答案

使用 Maven 配置文件和激活功能可以很好地完成

<profiles>
    <profile>
        <id>windows-x86_64</id>
        <activation>
            <os>
                <family>windows</family>
                <arch>amd64</arch>
            </os>
        </activation>            
    </profile>

    <profile>
        <id>windows-x86</id>
        <activation>
            <os>
                <family>windows</family>
                <arch>x86</arch>
            </os>
        </activation>
    </profile>

在此配置文件中,您可以设置自定义属性、自定义依赖项等。

关于java - 根据操作系统在 Maven 项目中包含一个 Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22791474/

相关文章:

java - 设计软件设备控制台时,UI 设计与传统 Web 应用程序有何不同?

java - 在 Eclipse IDE 中通过文件获取用户输入到 java 程序

java - Spring Tool Suite中maven使用的settings.xml在哪里?

java - Java中寻找依赖的确切时间

java - 在Ubuntu中运行Hadoop Jar

java - 如何在 Play 框架 2 中格式化输入值?

java - Thymeleaf 获取当前语言环境

java - Maven - 在 Quickstart Archetype 中更改 jUnit 版本

maven - 生命周期配置Maven错误未涵盖插件执行

java - 将 Java 库添加到 Netbeans Grails 项目