是否可以在 pom 中为 javacpp-preset 定义环境?

Is it possible to define the environment for the javacpp-preset in the pom?

是否可以在 pom.xml 文件中为 javacpp-presets (opencv-platform) 定义目标环境?我知道您可以在执行 mvn clean install 时设置 -Djavacpp.platform 属性。这将激活正确的 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) 将在构建时检测 os 并通过此 属性.

设置正确的分类器