是否可以在 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 并通过此 属性.
设置正确的分类器
是否可以在 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 并通过此 属性.
设置正确的分类器