gradle和maven根据不同平台使用不同依赖
gradle:
apply plugin: 'java'
repositories {
jcenter()
}
configurations {
winCompile
//compileOnly.extendsFrom winCompile
//testCompile.extendsFrom winCompile // Assuming tests run on the desktop
windows {
extendsFrom winCompile
extendsFrom runtime
}
}
import org.gradle.internal.os.OperatingSystem;
OperatingSystem osType=OperatingSystem.current();
dependencies {
compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '2.4.11-0.11'
//runtime(group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '2.4.11-0.11', ext: 'jar'){
//if(osType.isWindows()){
//classifier='windows-x86'
//}
//println(osType.isWindows())
//}
//winCompile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '2.4.11-0.11', ext: 'jar',classifier:'windows-x86'
}
task getDeps(type: Copy) {
from sourceSets.main.runtimeClasspath
into 'dist/lib'
}
maven:
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.example</groupId>
<artifactId>test</artifactId>
<version>1.0-MASTER</version>
<properties>
<opencv.version>2.4.11-0.11</opencv.version>
</properties>
<profiles>
<profile>
<id>platform-1</id>
<activation>
<os>
<family>Windows</family>
<arch>x86</arch>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>${opencv.version}</version>
<type>jar</type>
<classifier>windows-x86</classifier>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>platform-2</id>
<activation>
<os>
<family>Windows</family>
<arch>amd64</arch>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>${opencv.version}</version>
<type>jar</type>
<classifier>windows-x86_64</classifier>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>platform-3</id>
<activation>
<os>
<family>Linux</family>
<arch>x86</arch>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>${opencv.version}</version>
<type>jar</type>
<classifier>linux-x86</classifier>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>platform-4</id>
<activation>
<os>
<family>Linux</family>
<arch>x64</arch>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>${opencv.version}</version>
<type>jar</type>
<classifier>linux-x64</classifier>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>platform-5</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>${opencv.version}</version>
<type>jar</type>
<classifier>macosx-x86_64</classifier>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
</profiles>
</project>

