gpt4 book ai didi

java - 通过 gradle 构建公开依赖项

转载 作者:行者123 更新时间:2023-11-30 05:42:00 27 4
gpt4 key购买 nike

我的产品正在使用名为 matlab 控件版本 4.1.0 的第三方依赖项。这个jar文件允许java向matlab发送命令。

我们使用它的方式是在matlab中调用java命令(由用户触发),这在java插件中执行一堆计算,然后java向matlab发送通知,然后开始执行接收到的数据的m代码来自java。

到目前为止,jar 文件已存储在我们的存储库中,并直接加载到 matlab 中。

我们想要迁移到 matlab-control v5.0.0,它位于 Maven 上。因此,我们认为是时候摆脱 jar 文件,将其作为 Maven 的依赖项包含在我们的 gradle 构建中。

但是 API 似乎对 Matlab 不可见,它返回异常“找不到类 org.n52.matlabcontrol.MatlabProxy”。

如果我直接从 java 测试连接(通过创建 java 测试),java 将自行启动 matlab 并请求执行命令(例如,hello world 命令)。它工作正常,然后我可以实例化一个 MatlabProxy。但是,如果我启动 Matlab 并尝试直接从中访问 MatlabProxy,它找不到它。

看来我的 gradle 构建没有公开 Matlab-control API。到目前为止,我已经尝试过以下方法:

apply plugin: 'java-library'

dependencies {
implementation('org.n52.matlab:matlab-control:5.0.0')
api('org.n52.matlab:matlab-control:5.0.0')
}

但是它不起作用,那么我缺少什么?

最佳答案

感谢 JB Nizet 给我指明了正确的方向,我找到了解决方案。我只需首先创建一个配置,然后将依赖项分配给该配置即可复制它们:

configurations {
deployerJars
}

dependencies {
deployerJars group: 'org.n52.matlab', name: 'matlab-control', version: '5.0.0'
}

task copyToLib(type: Copy) {
into "$buildDir/libs"
from configurations.deployerJars
}

关于java - 通过 gradle 构建公开依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55478533/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com