could not find method compile () for arguments原创
金蝶云社区-吴辉宇
吴辉宇
2人赞赏了该文章 2,318次浏览 未经作者许可,禁止转载编辑于2022年07月27日 19:30:49

问题描述:使用IDEA/Eclipse等工具加载苍穹node-debug-mservice工程,通过run/debug启动Debugserver.java报错。提示not find method xxx for arguments。 
image.png


问题原因:使用idea/eclipse,若未指定gradle版本,使用gradle构建时,IDE工具会从官网下载最新的gradle,而非使用苍穹安装包下的gradle4.8。gradle7以后版本,不支持runtime,complie等方法,替换成runtimeonly, compileonly等。详细信息可参考官网说明:https://docs.gradle.org/current/userguide/upgrading_version_6.html#sec:configuration_removal


解决方法:

方案1:IDE指定gradle为苍穹安装目录下的gradle4.8。

方案2:若要使用gradle7以上版本,则修改build.gradle, 将runtime改成runtimeOnly, 将compile改成compileOnly。

修改完成后,gradle刷新工程,重新加载jar包就可以正常启动了。


小知识分享:

gradle的runtime和compile在运行期是一样的,也就是说在IDE中,使用runtime和compile都能正常加载依赖jar包,启动苍穹服务。但是若是要构建打包,则需要改成compile。build.gradle文件下的dependencies几个方法区别,可参考: https://blog.csdn.net/xx23x/article/details/121860651


赞 2