管理软件项目使用的依赖项,例如第三方库。
我正在使用 ignite 计算任务从 BigQuery 检索数据。以下是胖客户端和服务器端的配置: 我正在使用 ignite 计算任务从 BigQuery 检索数据。以下是胖客户端和服务器端的配置: <property name="peerClassLoadingEnabled" value="true"/> <property name="deploymentMode" value="CONTINUOUS"/> 计算任务可以描述如下: public class BigQueryStorageReadTask implements IgniteClosure<LoadingRequest, Long> { @IgniteInstanceResource private Ignite ignite; @Override public Long apply(LoadingRequest query) { return loadToCache(query); } private void readFromBigQuery(LoadingRequest query) { try (BigQueryReadClient client = BigQueryReadClient.create()) { // Read data from BigQuery using storage read api ..... } catch (IOException e) { throw new RuntimeException(e); } } } 使用存储读取API从BigQuery读取数据时出现依赖关系问题,需要依赖关系 implementation platform('com.google.cloud:libraries-bom:26.22.0') implementation 'com.google.cloud:google-cloud-bigquery:2.23.2' 如果我使用简单的 SQL api 从 BigQuery 读取数据,只需要“com.google.cloud:google-cloud-bigquery:2.23.2”,那么就没有问题,计算任务工作正常,但有 bom 依赖项 com.google.cloud:libraries-bom 远程计算任务会因为缺乏依赖而出现各种错误。由于我的 ignite 服务器节点以 xml 脚本而不是 spring 应用程序启动,因此我尝试将库 jar 手动添加到 user_libs 中,但仍然缺少一些低级依赖项。 我想知道是否有办法解决远程计算任务的依赖管理?我认为是peerClassLoading无法正常工作。 更新: 经过进一步调查,发现问题与是否包含bom无关,只是其他导入库的版本参考。 我猜根本原因是 ignite peerClassLoading 是否可以下载所有依赖项,包括 transitive 依赖项。 我通过关闭peerClassLoading并手动提供所有jar进行本地测试,如下 docker run -v /local_path/to/dir_with_libs/:/opt/ignite/apache-ignite/libs/user_libs apacheignite/ignite 效果很好。 所以我想我应该问:如何正确配置peerClassLoading策略以使其了解完整的依赖关系? AFAIU 当您仅指定 BOM 依赖项时会遇到问题。 这看起来像是您的 Gradle 使用问题。语句 platform('com.google.cloud:libraries-bom:26.22.0') 本身并不声明任何依赖项。 BOM 文件用于指定应该协同工作的特定版本的依赖项集,然后您不需要为这些包含的依赖项指定版本。 例如 implementation platform('com.google.cloud:libraries-bom:26.22.0') implementation 'com.google.cloud:google-cloud-bigquery' implementation 'com.google.cloud:google-cloud-storage' 如果您只声明对 BOM 的依赖,或者只复制 BOM 文件,您将无法获得您需要的实际代码。 如果您想从应用程序运行任务,对等类加载是加载库的可行选项。在这种情况下,您的应用程序应该具有任务代码+所有依赖项。服务器不应该有任何这些依赖项。然后,当服务器尝试执行任务时,它会要求客户端共享所有必需的类。 部署 Maven 依赖项的另一个好选择是使用 GridGain Control Center 的 Code Deployment 功能。您可以将集群连接到控制中心并使用其 UI 来操作已部署的代码 - 您指定 Maven 工件或上传要部署的文件,系统会处理依赖项、版本控制等。同样,仅指定 BOM不起作用 - 您需要应用程序使用的实际库(例如 com.google.cloud:google-cloud-bigquery:2.23.2)。
这个简单的Python程序: 导入 pyautogui # 获取屏幕尺寸 screen_size = pyautogui.size() # 捕获屏幕并将其保存到文件中 屏幕截图 = pyautogui.screenshot() 截图.保存(&q...
我对捆绑程序的真正含义感到非常困惑,主要是它与包管理器之间的区别(如果有的话)?例如,bun 是捆绑器吗? 我还没有找到明确的解释解决...
背景 我正在为 UDF 的 VBA 开发人员开发一个 VBA 模块(称为“Greg”),这增强了他们现有的模块。他们只需将一个片段复制到自己的模块中(称为 Dev):...
如何添加替代 HSQLDB jar 作为 gradle 依赖项?
上下文:我正在研究 Apache Calcite(存储库:github.com/apache/calcite),并尝试将 HSQLDB 版本更新到 2.7.1 以解决 https://nvd.nist.gov/vuln/detail/ CVE-2022-41853(问题是
将 Java 依赖项从 Fat Jar 更新为 Thin Jahr
我目前正在使用 Talend Studio,在我们的一个项目中,我们需要将 netty-all 库从版本 4.1.68 更新到 4.1.96。导入较新的 jar 文件后,我们发现 v...
使用 Angular 16.2.3 安装 @agm/core 时出现 npm ERESOLVE 错误
npm 错误!代码 ERESOLVE npm 错误! ERESOLVE 无法解析依赖关系树 npm 错误! npm 错误!解决时:[email protected] npm 错误!发现:@angular/[email protected] npm 错误!节点_模块/@角度/...
在使用 Node.js 环境的过程中,我遇到了 Node.js 模块版本维护的问题。我想确保所有内部 Node.js 模块都已更新。 许多现有的人...
在多模块项目中使用 versionCatalog 插件 - Gradle kts
我有一个 Gradle Kotlin mutli 模块项目,并且希望能够使用同一项目内的模块之一中内置的 versionCatalog。 versionCatalog 是使用 version-
使用 Spark-on-k8s-operator 在 Kubernetes 上运行的 Pyspark 的依赖性问题
我花了几天时间试图找出在 Kubernetes 上运行 (Py)Spark 时遇到的依赖问题。我正在使用 Spark-on-k8s-operator 和 Spark 的 Google Cloud 连接器。 当我...
我正在开发 Java Jersey 应用程序。在我的 pom.xml 文件中,我包含了某些具有严重漏洞的 Maven 依赖项。 即使升级到最新版本后,其中一些
如何在 Maven 中将 Spring Boot starter 依赖项更改为新版本?
由于存在漏洞,我需要将库的版本更新到最新版本。例如,我有一个启动器(但它不仅可以与启动器相关,它可以是与其他库相关的任何库......
shadow-cljs 如何处理 Shadow-cljs.edn 文件上不同版本的相同依赖项的重复项?
我一直在使用Clojure、ClojureScript、lein、shadow-cljs、re-frame、 试剂、Emacs 和 CIDER 在 Clojure/ClojureScript 动态上工作 网络应用程序项目。 在我的 Shadow-cljs.edn 中,我有: {:来源...
在 Clojure/ClojureScript 项目中,声明依赖于 `deps.edn` 文件而不是使用 `shadow-cljs.edn` 有什么优点?
我一直在使用 Clojure、ClojureScript、lein、shadow-cljs、re-frame、reagent、Emacs 和 CIDER 来开发 Clojure/ClojureScript 动态 Web 应用程序项目。 目前,该项目使用project.clj ...
如何声明对shadow-cljs.edn 文件的 ClojureScript 依赖项有什么区别吗?
我一直在从事 Clojure/ClojureScript 项目,有些事情引起了我的兴趣。 在 Shadow-cljs.edn 文件中,有一个声明 依赖关系。正如您在下面看到的,其中一些有...
在我的项目(flutter 应用程序)中,lib 文件夹内的文件夹 helper 中有一个名为 color.dart 的文件。 color.dart 文件的内容没有导入到其他文件中(我...
我在下面收到此错误,我尝试从每个依赖项中排除 Jersey 并同步版本,但仍然收到错误。我已经隔离了我能想到的每一件球衣。可以 FastXML...
cycloneDx Bom没有获取我项目的所有依赖项,如何通过cycloneDx bom获取所有依赖项。 我运行命令来创建 bom 它只获取很少的依赖项该命令...
我有一个 Java Maven 项目,在 pom.xml 文件中定义了一些依赖项。最近我决定从 Junit 迁移到 TestNG,因此我从 pom.xml 中删除了 Junit 依赖项并添加了
我现在正在使用cocoapods,我想在我的项目中添加本地pod依赖项,例如: s.dependency = '我的 pod', :path => '' 但我认为这是不可能的,一些想法?