在基于操作系统的Maven项目中包含Jar

时间:2014-04-01 16:22:40

标签: java maven jar build

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

2 个答案:

答案 0 :(得分:1)

使用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>

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

答案 1 :(得分:0)

根据系统特定部分的实际内容,您可能需要Maven NAR Pluginuse profiles