maven javacv 只添加指定平台依赖

891 阅读1分钟

如果直接导入 javacv-platform 会引入多个平台的依赖,导致打包后的 jar 特别大。

可以选择自己需要的平台导入。

使用 <classifier>linux-x86_64</classifier> 可以只添加 linux 平台的依赖。

但是如果在其他平台开发,在 linux 打包部署,可以在 pom.xml 中添加 profiles.

<profiles>
    <profile>
        <id>windows</id>
        <activation>
            <os>
                <family>windows</family>
            </os>
        </activation>
        <properties>
            <javacpp.platform>windows-x86_64</os.variableName>
        </properties>
    </profile>
    <profile>
        <id>linux</id>
        <activation>
            <os>
                <family>unix</family>
            </os>
        </activation>
        <properties>
            <javacpp.platform>linux-x86_64</os.variableName>
        </properties>
    </profile>
</profiles>

javacpp.platform 在 windows 系统中值是 windows-x86_64,在 linux 下是 linux-x86_64

在依赖中使用变量 javacpp.platform ,可以自动引入对应平台的依赖。

<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>javacpp</artifactId>
    <version>${javacv.version}</version>
    <classifier>${javacpp.platform}</classifier>
</dependency>