是否可以在 pom.xml 文件中为 javacpp-presets (opencv-platform) 定义目标环境?我知道您可以-Djavacpp.platform
在执行时设置属性mvn clean install
。这将激活正确的 Maven 配置文件,并且不会将其他系统库添加到最终的 jar 中。但是有没有机会直接在pom中定义平台来避免执行maven时的-D参数呢?
谢谢!
这是我想出的解决方案:
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>${opencv.version}</version>
</dependency>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>${opencv.version}</version>
<classifier>${os.detected.classifier}</classifier>
</dependency>
${os.detected.classifier}
可以在 pom 中设置。我将此属性与以下构建扩展一起使用:
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.6.1</version>
</extension>
</extensions>
...
此扩展(https://github.com/trustin/os-maven-plugin)将在构建时检测操作系统并通过此属性设置正确的分类器。