我将Gradle插件版本从3.3.2
更新到了3.4.0
,并将Gradle插件更新了版本5.1.1
。我肯定知道这会导致导入库时未知。它给出错误unresolved reference
。
清理项目,重建,使缓存无效/重新启动以及丢弃.idea文件都不能解决此问题。对我唯一有效的方法是将Gradle版本恢复回3.3.2
。但这不是我想要的。
我的问题与ROS库有关;具体来说,是ROS Java引导程序的message_generation
。该库具有与rosjava
库相同的相对路径;即org.ros.*
。我不确定这是否与问题有关。
对此我该怎么办?非常感谢:非常欢迎您提供所有帮助!
答案 0 :(得分:0)
在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'