首页/新闻资讯/正文详情

LanceDB Java SDK 第三方依赖许可证清单(JAVA_THIRD_PARTY_LICENSES.md)解析与合规实践

发布时间:2026/9/23 23:29:04 来源:云帆数科 栏目:资讯中心
LanceDB Java SDK 第三方依赖许可证清单(JAVA_THIRD_PARTY_LICENSES.md)解析与合规实践
向量数据库数据库人工智能后端【免费下载链接】lancedbDeveloper-friendly OSS embedded retrieval library for multimodal AI. Search More; Manage Less.项目地址https://gitcode.com/gh_mirrors/la/lancedb点击查看免费下载导读本文以 LanceDB 仓库中java/lancedb-core/JAVA_THIRD_PARTY_LICENSES.md为主体逐层拆解这份由 Maven 插件自动生成的第三方依赖许可证清单它记录了什么、如何生成、覆盖了哪些许可证类型以及这些依赖在 LanceDB Java SDK用于连接 LanceDB Cloud / Enterprise 的客户端中扮演的角色。读完本文你将掌握该清单的阅读方法、与 java/pom.xml 的对应关系以及如何在升级依赖后重新生成合规清单。一、这份清单是什么JAVA_THIRD_PARTY_LICENSES.md是一份按许可证类型分组的第三方依赖清单Group-By-License 形式文件开头的说明只有一句话List of third-party dependencies grouped by their license type.随后是十个许可证分组共 40 条依赖记录。它服务于 LanceDB 的Java 客户端模块lancedb-core。根据 lancedb-core/pom.xml 的模块描述该模块定位为 Utilities to work with LanceDB Cloud and Enterprise via Lance REST Namespace即通过 Lance REST Namespace 规范访问 LanceDB Cloud 与 Enterprise 的 Java 工具库。因此清单中的依赖与REST 客户端 Arrow 数据处理 JSON 序列化 HTTP 传输这条技术栈高度一致。值得注意的是仓库根目录下java/JAVA_THIRD_PARTY_LICENSES.md与java/lancedb-core/JAVA_THIRD_PARTY_LICENSES.md两份文件内容完全相同——这是同一份 Maven 插件配置在父 POM 与子模块中分别执行的产物详见下文如何生成一节。二、如何生成license-maven-plugin 配置解析这份清单不是手写的而是由codehaus 的license-maven-plugin版本 2.4.0在 Maven 构建过程中自动生成的。配置位于父 POM java/pom.xmlplugin groupIdorg.codehaus.mojo/groupId artifactIdlicense-maven-plugin/artifactId version2.4.0/version configuration outputDirectory${project.basedir}/outputDirectory thirdPartyFilenameJAVA_THIRD_PARTY_LICENSES.md/thirdPartyFilename fileTemplate/org/codehaus/mojo/license/third-party-file-groupByLicense.ftl/fileTemplate includedScopescompile,runtime/includedScopes excludedScopestest,provided/excludedScopes sortArtifactByNametrue/sortArtifactByName /configuration /plugin各配置项的作用如下配置项取值含义outputDirectory${project.basedir}输出到执行模块的根目录因此父模块与lancedb-core子模块各自生成一份同名文件thirdPartyFilenameJAVA_THIRD_PARTY_LICENSES.md生成的清单文件名fileTemplatethird-party-file-groupByLicense.ftl使用按许可证分组的 FreeMarker 模板即当前清单的组织形式includedScopescompile,runtime只统计编译期与运行期依赖含传递依赖excludedScopestest,provided测试期与 provided 作用域的依赖不进入清单sortArtifactByNametrue组内按构件名排序保证清单输出稳定、可 diff这说明清单中的依赖并非lancedb-core/pom.xml中显式声明的全部内容而是解析完传递依赖后、处于 compile/runtime 作用域的最终集合。例如 lancedb-core/pom.xml 显式声明了jackson-databind:2.17.1而清单中记录的是jackson-databind:2.15.2这正是传递依赖解析结果与直接声明不一致的典型体现——清单反映的是构建时实际生效的版本快照。重新生成的命令在java/目录下通过 Maven Wrapper 执行对应 goal 即可按上述配置重新生成# 在 java/ 目录下执行按 pom 配置重新生成第三方许可证清单 ./mvnw license:third-party # 完整构建Makefile 中的 build-lancedb 亦等价执行 spotless:apply install ./mvnw install -pl lancedb-core -am构建入口脚本为 java/mvnw相关目标定义见 java/Makefile。由于清单是点上的快照每次升级依赖如 Arrow、Jackson、HttpClient 版本后都应重新生成避免清单与Cargo.lock/uv.lock之外的 Java 依赖树脱节。三、许可证分组全览清单按 SPDX 声明原文分组共出现 10 个分组名。由于上游各库在 POM 中声明的许可证文本写法不一同一许可证出现了多种措辞如 Apache 2.0、Apache License 2.0、Apache-2.0、The Apache Software License, Version 2.0插件按原文分组而不做归一化这是阅读时需要注意的第一个坑。1. Apache 2.0 家族6 种写法、34 条记录分组名依赖artifactId:versionApache 2.0error_prone_annotations:2.28.0Apache License 2.0jackson-databind-nullable:0.2.6Apache License V2.0flatbuffers-java:23.5.26Apache License, Version 2.0commons-codec:1.15、httpclient5:5.2.1、httpcore5:5.2、httpcore5-h2:5.2、arrow-format:15.0.0、arrow-c-data:15.0.0、arrow-dataset:15.0.0、arrow-memory-core:15.0.0、arrow-memory-netty:15.0.0、arrow-vector:15.0.0、guava:33.3.1-jre、j2objc-annotations:3.0.0、netty-buffer:4.1.104.Final、netty-common:4.1.104.FinalApache-2.0commons-lang3:3.18.0、lance-namespace-apache-client:0.4.5、lance-namespace-core:0.4.5The Apache Software License, Version 2.0jsr305:3.0.2、failureaccess:1.0.2、listenablefuture、jackson-datatype-jsr310:2.16.0、jackson-module-jaxb-annotations:2.17.1、jackson-annotations:2.16.0、jackson-core:2.16.0、jackson-databind:2.15.2、jackson-jaxrs-base:2.17.1、jackson-jaxrs-json-provider:2.17.1、jar-jni:1.1.1、lance-core:2.0.02. Eclipse 系许可证EDL 1.0 / EPL 1.0分组名依赖EDL 1.0jakarta.activation-api:1.2.2Eclipse Distribution License - v 1.0eclipse-collections-api:11.1.0、eclipse-collections:11.1.0、jakarta.xml.bind-api:2.3.3Eclipse Public License - v 1.0eclipse-collections-api:11.1.0、eclipse-collections:11.1.0注意Eclipse Collections 系列API 与主库同时出现在 EDL 1.0 与 EPL 1.0 两个分组中——这是上游采用双许可证Dual-License发布的表现使用方可在两种许可中选择其一清单如实记录了两种声明。3. MIT分组名依赖The MIT Licensechecker-qual:3.43.0四、从清单反推 SDK 技术底座清单不是孤立的列表它与lancedb-core的源码实现一一对应可以从依赖倒推 SDK 各层能力Arrow 数据层arrow-vector、arrow-memory-netty、arrow-memory-core、arrow-format、arrow-dataset、arrow-c-data均 15.0.0承担列式数据的内存表示与 C Data Interface 互操作。父 POM 通过dependencyManagement统一以arrow.version15.0.0管理 Arrow 版本见 java/pom.xml子模块显式引入arrow-vector与arrow-memory-netty见 lancedb-core/pom.xml。HTTP 传输层Apache HttpClient 5httpclient5:5.2.1与 HttpComponents Corehttpcore5:5.2、httpcore5-h2:5.2是访问 LanceDB Cloud / Enterprise REST 接口的底层传输。pom 注释明确指出它们是为 LanceDB routes outside the Lance Namespace spec如 MemWAL LSM 写路径提供的传输层见 lancedb-core/pom.xml。JSON 序列化层Jackson 全家桶annotations/core/databind/datatype-jsr310/jaxrs 系列用于 REST 请求响应体的序列化其中jackson-datatype-jsr310支撑 Java 8 时间类型的 JSON 编解码。Lance 生态核心lance-core:2.0.0与lance-namespace-core:0.4.5、lance-namespace-apache-client:0.4.5分别提供 Lance 数据格式核心与由 OpenAPI 规范生成的 Namespace 客户端org.lance.namespace.LanceNamespace后者正是 java/README.md 中客户端初始化的入口类型。内存与序列化辅助Netty Buffer/CommonArrow 内存分配依赖、FlatBuffers Java APIArrow 格式底层、Guava 系列含 failureaccess、listenablefuture、jsr305、checker-qual、j2objc-annotations 等伴随构件。JNI 加载jar-jni:1.1.1QuestDB 的 Rust Maven 插件产物用于 JAR 内原生库的加载与 Java 模块内嵌 Rust 核心lance-core的架构吻合。这些依赖的实际使用可进一步在 LanceDbNamespaceClientBuilder.java 中印证构建器硬编码了 Cloud 端点模板https://%s.%s.api.lancedb.com与默认区域us-east-1说明该客户端面向远端 REST 服务其网络栈正是清单中的 HttpClient 5。五、许可证合规要点与清单维护作用域过滤是合规的关键includedScopescompile,runtime意味着测试框架JUnit、Mockito、SLF4J、Log4j2 等见 lancedb-core/pom.xml 的 test 依赖不会进入清单因为它们不随产物分发。审计许可证时只需关注 compile/runtime 集合这也是合规审查的准确范围。同一许可证、多种写法Apache 2.0 在清单中多达 6 种措辞合并统计时应按许可证实质归类而非按分组名计数反之 Eclipse Collections 的双许可EDL EPL则要避免重复计数或遗漏其一。版本以清单为准清单记录的是依赖解析后的实际版本如 jackson-databind 2.15.2 与 pom 声明的 2.17.1 不一致做漏洞扫描或合规复核时应以清单版本为基准。仓库级合规惯例LanceDB 对每个语言生态都维护了同类产物——Python 侧为表格形式的 PYTHON_THIRD_PARTY_LICENSES.mdNode.js 侧为 NODEJS_THIRD_PARTY_LICENSES.mdRust 侧为 RUST_THIRD_PARTY_LICENSES.html。Java 的这份 Markdown 清单与其他生态保持一致共同构成全仓库的第三方依赖合规证据链。重新生成时机升级 Arrow / Jackson / HttpClient / lance-core 等任一依赖、或修改lancedb-core的直接依赖声明后执行./mvnw license:third-party并提交更新后的两份清单父模块与子模块各一份即可保持合规状态可审计、可追溯。六、相关文件索引文件说明java/lancedb-core/JAVA_THIRD_PARTY_LICENSES.md本文主体lancedb-core 子模块的第三方许可证清单java/JAVA_THIRD_PARTY_LICENSES.md父模块生成的同内容清单java/pom.xmllicense-maven-plugin 的生成配置作用域、模板、输出位置java/lancedb-core/pom.xml模块直接依赖声明与模块职责描述java/README.mdJava 客户端初始化与 MemWAL LSM 写路径用法java/Makefile构建 / 测试 / 集成测试目标java/license_header.txt源码文件统一采用的 Apache-2.0 SPDX 头总结JAVA_THIRD_PARTY_LICENSES.md是 LanceDB Java SDK 的合规体检报告通过 license-maven-plugin 从 Maven 依赖树自动生成。阅读它时应以许可证实质 实际生效版本为视角结合 java/pom.xml 的生成配置与 lancedb-core/pom.xml 的直接依赖声明即可完整还原 SDK 的技术底座Arrow 数据层、HttpClient 5 传输层、Jackson 序列化层与 Lance Namespace 客户端并在依赖升级后按本文命令及时刷新这份清单。赞分享向量数据库数据库人工智能后端【免费下载链接】lancedbDeveloper-friendly OSS embedded retrieval library for multimodal AI. Search More; Manage Less.项目地址https://gitcode.com/gh_mirrors/la/lancedb点击查看免费下载相关推荐Lance Java SDK 第三方依赖清单解析从许可证合规到依赖用途全景Lance Java SDK 第三方依赖清单解析从许可证合规到依赖用途全景 Lance 是一个面向多模态 AI 的开源 Lakehouse 数据格式其 Ja数据库向量数据库数据湖全文检索Memray 依赖许可证全解析内置第三方开源库清单与 Apache 2.0 合规实践Memray 依赖许可证全解析内置第三方开源库清单与 Apache 2.0 合规实践 本篇指南以 docs/licenses.rst https://link性能剖析开发工具Semaphore UI 第三方许可证合规清单解析从 THIRD-PARTY-LICENSES.md 看开源依赖审计与合规溯源实践Semaphore UI 第三方许可证合规清单解析从 THIRD PARTY LICENSES.md 看开源依赖审计与合规溯源实践 导读 THIRD PART后端DevOps任务调度认证鉴权创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

布谷鸟算法CS优化BP神经网络多输入多输出回归预测及Matlab实现
布谷鸟算法CS优化BP神经网络多输入多输出回归预测及Matlab实现

简介:这是一份面向Matlab开发者的数据回归预测示例资源,围绕布谷鸟算法(CS)优化BP神经网络解决多输入多输出(MIMO)回归问题。资源既包含CS与BP结合的完整Matlab源码,也提供了可替换的Excel数据集… · 2026/9/23 23:28:57

从PPT到代码:手撕Transformer最小实现与训练调优实战
从PPT到代码:手撕Transformer最小实现与训练调优实战

简介:这份PPT课件面向NLP入门与进阶学习者,系统讲解Transformer模型及其论文《Attention is all you need》的核心思想。内容从传统Seq2Seq与RNN的并行计算瓶颈切入,引出Attention机制,再对Transformer的编码器-解码器架构做宏观与… · 2026/9/23 23:28:51

Flet 中 FilledButtonTheme 主题详解:用 ButtonStyle 统一定制实心按钮外观
Flet 中 FilledButtonTheme 主题详解:用 ButtonStyle 统一定制实心按钮外观

前端跨平台桌面应用移动开发 【免费下载链接】flet Build realtime web, mobile and desktop apps in Python only. No frontend experience required. 项目地址: https://gitcode.com/gh_mirrors/fl/flet 点击查看 免费下载 导读 FilledButtonTheme 是 Flet 主题… · 2026/9/23 23:28:39

基于UNet与UNet++的细胞医学图像分割Python实现源码
基于UNet与UNet++的细胞医学图像分割Python实现源码

简介:这份源码面向计算机相关专业的毕业设计、课程设计及期末综合作业需求,提供基于UNet与UNet两种编码器-解码器架构的医学细胞图像分割完整实现,采用Python编写,原为本科三年级课程设计,在导师指导下获99分评价&… · 2026/9/24 0:11:22

边缘驱动对流原理与跨学科应用解析
边缘驱动对流原理与跨学科应用解析

1. 边缘驱动对流(EDC)的核心原理边缘驱动对流(Edge-driven convection,简称EDC)是地球物理学中描述岩石圈-软流圈系统内物质循环的重要机制。其本质是水平方向上的物理性质突变(温度、密度、粘度差异&#… · 2026/9/24 0:11:16

PyTorch从零实现贝叶斯神经网络:不确定性量化实战
PyTorch从零实现贝叶斯神经网络:不确定性量化实战

简介:本资源是一份面向机器学习进阶学习者与研究者的贝叶斯神经网络实践教程代码包,聚焦于不确定性建模这一核心需求,助力读者掌握小样本学习、模型校准与置信度预测等关键能力。压缩包共12个文件,含6个Python脚本(如b… · 2026/9/24 0:10:51

使用 PaddleHub 部署 VGG19 图像分类模型:vgg19_imagenet 模块安装、命令行预测与 Python API 实战指南
使用 PaddleHub 部署 VGG19 图像分类模型:vgg19_imagenet 模块安装、命令行预测与 Python API 实战指南

人工智能大模型微调模型推理服务 【免费下载链接】PaddleFormers PaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleFormers 点击查看 免费下载 导读… · 2026/9/24 0:10:45

极化联合特征与机器学习:海杂波中雷达目标检测的Python实现
极化联合特征与机器学习:海杂波中雷达目标检测的Python实现

简介:面向雷达信号处理与海面目标检测研究人员,该PDF复现了《基于极化联合特征的海面目标检测方法》的完整实现。通过Cloude分解提取极化熵与反熵,利用Krogager分解得到球、二面角、螺旋体散射归一化系数,构成5维联合特征&#xf… · 2026/9/24 0:10:45

Mosquitto 1.0.2 版本解析:$SYS 持久化缺陷修复与配套工具链改进
Mosquitto 1.0.2 版本解析:$SYS 持久化缺陷修复与配套工具链改进

后端消息队列消息路由 【免费下载链接】mosquitto Eclipse Mosquitto - An open source MQTT broker 项目地址: https://gitcode.com/gh_mirrors/mos/mosquitto 点击查看 免费下载 本篇技术指南围绕 Eclipse Mosquitto 1.0.2 版本发布公告展开,逐一拆解… · 2026/9/24 0:10:32

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码