如果直接导入 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>