我将 Gradle 插件版本从 3.3.2
更新到 3.4.0
,并将 Gradle 更新到版本 5.1.1
。我确信这会导致我导入库时未知。它给出错误未解析的引用
。
清理项目、重建、无效缓存/重新启动和丢弃 .idea 文件都不能解决此问题。唯一对我有用的是将 Gradle 版本恢复到 3.3.2。但这不是我想要的。
我遇到的问题与 ROS 库有关;具体来说,ROS Java bootstrap 的 message_ Generation
。该库与 rosjava 库具有相同的相对路径;即org.ros.*
。我不确定这是否与该问题有关。
对此我能做什么?非常感谢:非常欢迎所有帮助!
最佳答案
Gradle github issue page 上描述了该解决方案我也描述了我的问题。所描述的是ROS发布了错误的metadata 。
“这表示您只在运行应用程序时需要包含 org.ros.internal.message.Message 的 jar,而不是在编译应用程序时需要,但情况似乎并非如此。要解决此问题,您需要添加 ROS 编译时未包含的额外依赖项。”
我按照描述修复了它;我添加了更新后找不到的库对应的依赖。这对我来说很有效:
implementation 'org.ros.rosjava_messages:sensor_msgs:1.12.5'
implementation 'org.ros.rosjava_bootstrap:message_generation:0.3.3'
implementation 'org.ros.rosjava_messages:std_msgs:0.5.11'
implementation 'org.ros.rosjava_messages:geometry_msgs:1.12.7'
关于java - 将 gradle 更新到版本 5.1.1 导致 `Unresolved reference:` 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55745425/