# 离线使用

# 如何离线使用

(1)预设平台属性

在项目的的pom.xml文件中添加以下属性

<properties>
    <javacv.version>1.5.10</javacv.version>
    
    <javacv.platform.macosx-arm64>macosx-arm64</javacv.platform.macosx-arm64>
    <javacv.platform.linux-x86_64>linux-x86_64</javacv.platform.linux-x86_64>
    <javacv.platform.linux-arm64>linux-arm64</javacv.platform.linux-arm64>
    <javacv.platform.windows-x86_64>windows-x86_64</javacv.platform.windows-x86_64>

    <djl.platform.windows-x86_64>win-x86_64</djl.platform.windows-x86_64>
    <djl.platform.linux-x86_64>linux-x86_64</djl.platform.linux-x86_64>
    <djl.platform.linux-aarch64>linux-aarch64</djl.platform.linux-aarch64>
    <djl.platform.osx-aarch64>osx-aarch64</djl.platform.osx-aarch64>
</properties>

(2)引入原生依赖(示例:Windows x86_64)

需要根据自己的平台选择,引入对应原生依赖(通过 classifier 控制平台版本):

<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>javacpp</artifactId>
    <version>${javacv.version}</version>
    <classifier>${javacv.platform.windows-x86_64}</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>ffmpeg</artifactId>
    <version>6.1.1-1.5.10</version>
    <classifier>${javacv.platform.windows-x86_64}</classifier>
</dependency>

<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>openblas</artifactId>
    <version>0.3.26-1.5.10</version>
    <classifier>${javacv.platform.windows-x86_64}</classifier>
</dependency>

<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>opencv</artifactId>
    <version>4.9.0-1.5.10</version>
    <classifier>${javacv.platform.windows-x86_64}</classifier>
</dependency>

<dependency>
    <groupId>ai.djl.pytorch</groupId>
    <artifactId>pytorch-native-cpu</artifactId>
    <classifier>${djl.platform.windows-x86_64}</classifier>
    <version>2.5.1</version>
    <scope>runtime</scope>
</dependency>

<dependency>
    <groupId>ai.djl.pytorch</groupId>
    <artifactId>pytorch-jni</artifactId>
    <version>2.5.1-0.32.0</version>
    <scope>runtime</scope>
</dependency>