List icon 目录

添加 JxBrowser 到您的 Gradle 项目中

将 JxBrowser 添加到 Gradle 项目中最简单的方法是使用 JxBrowser Gradle 插件。本指南将介绍如何使用它。

应用插件

您可以通过将 JxBrowser Gradle 插件添加到 plugins 块或作为 buildscript 依赖项来将其应用到您的 Gradle 项目中。在这两种情况下,您都需要指定插件版本。本指南使用的是插件的最新版本,您可以在 JxBrowser Gradle 插件的发布页面中找到该版本。

使用 plugins

请在 Gradle DSL 中的 plugins 块中添加以下代码:

Kotlin
Groovy
plugins {
    id("com.teamdev.jxbrowser") version "1.2.1"
}
plugins {
    id 'com.teamdev.jxbrowser' version '1.2.1'
}

作为 buildscript 依赖项

如果您必须使用应用插件的传统方法,则可以将 JxBrowser Gradle 插件添加为 buildscript 依赖项:

Kotlin
Groovy
buildscript {
  repositories {
    maven {
      url = uri("https://plugins.gradle.org/m2/")
    }
  }
  dependencies {
    classpath("com.teamdev.jxbrowser:jxbrowser-gradle-plugin:1.2.1)
  }
}

apply(plugin = "com.teamdev.jxbrowser")
buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "com.teamdev.jxbrowser:jxbrowser-gradle-plugin:1.2.1"
  }
}

apply plugin: "com.teamdev.jxbrowser"

配置插件

应用插件后,可以通过 build.gradle(.kts) 文件中的 jxbrowser 扩展对其进行配置。

JxBrowser 版本

version 属性是必需属性,用于指定 JxBrowser 的版本。以下是配置插件以使用最新版本 JxBrowser 的方法:

Kotlin
Groovy
jxbrowser {
    version = "8.2.1"
}
jxbrowser {
    version '8.2.1'
}

您可以在版本发布说明页面上找到所有可用的 JxBrowser 版本列表。

存储库

JxBrowser 的构件托管在我们自己的 Maven 存储库中。我们使用自有存储库而非 Maven Central,是为了加快新版本发布速度,并确保对存储库及其配置的完全控制。

JxBrowser 存储库位于北美和欧洲。您可以通过设置 repository 属性来指定应使用哪个 JxBrowser 存储库。JxBrowser 存储库的位置会影响构件的下载速度,因此您应该选择离您地理位置更近的存储库。如果未指定该属性,将默认使用位于北美的存储库。

以下代码片段展示了如何使用位于欧洲的存储库:

Kotlin
Groovy
jxbrowser {
    // 要使用的 JxBrowser 存储库的位置。
    // 如果未指定,则位置设置为北美。
    repository = Repository.EUROPE
    // repository = Repository.NORTH_AMERICA
}
jxbrowser {
    // 要使用的 JxBrowser 存储库的位置。
    // 如果未指定,则位置设置为北美。
    repository Repository.EUROPE
    // repository Repository.NORTH_AMERICA
}

如果您希望将 JxBrowser 构件存储在自定义 Maven 存储库中,可以按如下所示配置插件以使用该存储库:

Kotlin
Groovy
jxbrowser {
    repository = "https://my.custom.repository"
}
jxbrowser {
    repository 'https://my.custom.repository'
}

依赖项

JxBrowser 是一个跨平台库,支持不同的操作系统、CPU 架构和 Java UI 工具包。它与 Chromium 集成并将其二进制文件部署在 JAR 文件中。对于每个操作系统系列和 CPU 架构,都有一个单独的 JxBrowser 依赖项和所需的 Chromium 二进制文件。

包含 Chromium 二进制文件的依赖项大小可能会因操作系统和 CPU 架构而异,最大可能达到 110MB。因此,在您的项目中添加这些依赖项时,应该只添加您真正需要的那些,这是非常重要的。

特定平台

如果您为特定的操作系统和 CPU 架构开发项目,可以使用以下代码将一个或多个特定平台的依赖项添加到您的项目中:

Kotlin
Groovy
dependencies {
    implementation(jxbrowser.win32)     // Windows 32-bit
    implementation(jxbrowser.win64)     // Windows 64-bit
    implementation(jxbrowser.winArm)    // Windows 64-bit ARM
    implementation(jxbrowser.mac)       // Mac Intel
    implementation(jxbrowser.macArm)    // Mac Apple silicon
    implementation(jxbrowser.linux64)   // Linux 64-bit
    implementation(jxbrowser.linuxArm)  // Linux 64-bit ARM
}
dependencies {
    implementation jxbrowser.win32      // Windows 32-bit
    implementation jxbrowser.win64      // Windows 64-bit
    implementation jxbrowser.winArm     // Windows 64-bit ARM
    implementation jxbrowser.mac        // Mac Intel
    implementation jxbrowser.macArm     // Mac Apple silicon
    implementation jxbrowser.linux64    // Linux 64-bit
    implementation jxbrowser.linuxArm   // Linux 64-bit ARM
}

您可以在系统要求文档中找到支持的操作系统和 CPU 架构的列表。

当前平台

如果您为多个平台开发,并希望自动检测当前平台并仅下载对应的 Chromium 二进制文件,则可以使用 currentPlatform 依赖项:

Kotlin
Groovy
dependencies {
    implementation(jxbrowser.currentPlatform)
}
dependencies {
    implementation jxbrowser.currentPlatform
}

此依赖项非常适合开发阶段使用。如果您计划使用 Gradle 脚本进行部署,则应添加所有需要的特定平台依赖项。否则,仅会获取 Gradle 脚本执行所在操作系统的二进制文件。

GUI 工具包

如果您使用 Swing、JavaFX、SWT 或 Compose Desktop UI 工具包来构建应用程序的 GUI,则请同时添加相应的 JxBrowser 依赖项:

Kotlin
Groovy
dependencies {
    implementation(jxbrowser.swt)
    implementation(jxbrowser.swing)
    implementation(jxbrowser.javafx)
    implementation(jxbrowser.compose)
}
dependencies {
    implementation jxbrowser.swt
    implementation jxbrowser.swing
    implementation jxbrowser.javafx
    implementation jxbrowser.compose
}

总结

以下是 build.gradle(.kts) 的完整代码:

Kotlin
Groovy
import com.teamdev.jxbrowser.gradle.Repository

plugins {
    java
    id("com.teamdev.jxbrowser") version "1.2.1"
}

jxbrowser {
    // JxBrowser 版本(必需)。
    version = "8.2.1"

    // 要使用的 JxBrowser 存储库的位置(可选)。
    // 可以选择北美或欧洲。
    // 如果未指定,默认使用北美位置。
    repository = Repository.EUROPE
    // repository = Repository.NORTH_AMERICA

    // 另外,您可以通过 URL 指定一个自定义仓库,如下所示:
    // repository = "https://my.custom.repository"
}

dependencies {
    // 添加特定平台的 Chromium 二进制文件依赖项。
    implementation(jxbrowser.mac)      // Mac Intel
    implementation(jxbrowser.macArm)   // Mac Apple silicon
    implementation(jxbrowser.win32)    // Windows 32-bit
    implementation(jxbrowser.win64)    // Windows 64-bit
    implementation(jxbrowser.winArm)   // Windows 64-bit ARM
    implementation(jxbrowser.linux64)  // Linux 64-bit
    implementation(jxbrowser.linuxArm) // Linux 64-bit ARM
    
    // 检测当前平台并添加相应的 Chromium 二进制文件。
    implementation(jxbrowser.currentPlatform)
    
    // 添加 UI 工具包集成的依赖项。
    implementation(jxbrowser.swt)
    implementation(jxbrowser.swing)
    implementation(jxbrowser.javafx)
    implementation(jxbrowser.compose)
}
import com.teamdev.jxbrowser.gradle.Repository

plugins {
    id 'java'
    id 'com.teamdev.jxbrowser' version '1.2.1'
}

jxbrowser {
    // JxBrowser 版本(必需)。
    version '8.2.1'

    // 要使用的 JxBrowser 存储库的位置(可选)。
    // 可以选择北美或欧洲。
    // 如果未指定,默认使用北美位置。
    repository Repository.EUROPE
    // repository Repository.NORTH_AMERICA

    // 另外,您可以通过 URL 指定一个自定义仓库,如下所示:
    // repository "https://my.custom.repository"
}

dependencies {
    // 添加特定平台的 Chromium 二进制文件依赖项。
    implementation jxbrowser.mac      // Mac Intel
    implementation jxbrowser.macArm   // Mac Apple silicon
    implementation jxbrowser.win32    // Windows 32-bit
    implementation jxbrowser.win64    // Windows 64-bit
    implementation jxbrowser.winArm   // Windows 64-bit ARM
    implementation jxbrowser.linux64  // Linux 64-bit
    implementation jxbrowser.linuxArm // Linux 64-bit ARM

    // 检测当前平台并添加相应的 Chromium 二进制文件。
    implementation jxbrowser.currentPlatform

    // 添加 UI 工具包集成的依赖项。
    implementation jxbrowser.swt
    implementation jxbrowser.swing
    implementation jxbrowser.javafx
    implementation jxbrowser.compose
}