LibGDX-android studio:无法加载类'org. gradle. api. internal. artifacts. dsl. dependencies. DependencyFactory $ClassPathNotation'

ego6inou  于 2023-06-20  发布在  Android
关注(0)|答案(1)|浏览(138)

bounty还有4天到期。回答此问题可获得+100声望奖励。Bussiere正在寻找一个答案从一个有信誉的来源

我有以下问题:
如果我使用LIBGDX项目设置(最新版本1.11.0)创建一个新项目,然后在Android Studio中打开它,我可以毫无问题地升级到Gradle 7.4.2。然而,当升级到Gradle 8.0.1时,我总是得到相同的错误:“无法加载类'org.gradle.API.internal.artifacts.dsl.dependencies.DependencyFactory$ClassPathNotation'。”“org/gradle/api/internal/artifacts/dsl/dependencies/DependencyFactory$ClassPathNotation”
它一定与HTML有关,因为如果我创建一个没有HTML的LIBGDX设置,我可以毫无问题地更新到Gradle 8.0.1。没有HTML一切都很好。
Android Studio Flamingo Patch 2,LIBGDX Setup Version 1.11.0
会很感激你的帮助。。

wnavrhmk

wnavrhmk1#

让我们看看错误消息。

Unable to load class 'org.gradle.api.internal.artifacts.dsl.dependencies.DependencyFactory$ClassPathNotation'.

关于Upgrading your build from Gradle 7.x to 8.0的指南说Internal DependencyFactory已重命名。
内部的org.gradle.api.internal.artifacts.dsl.dependencies.DependencyFactory类型被重命名为org.gradle.api.internal.artifacts.dsl.dependencies.DependencyFactoryInternal。作为内部类型,它不应该被使用,但出于兼容性原因,内部ClassPathNotation类型仍然可用。此类型名称已弃用,将在Gradle 8.0中删除。此方法的公共API位于DependencyHandler上,localGroovy()等方法提供了相同的功能。
这完全符合您在更新到Gradle 8时收到的错误消息。这些内部Gradle API主要与Gradle插件的开发人员相关。这就是为什么上述Gradle升级指南建议在第二步中
更新您的插件。
一些插件将与这个新版本的Gradle中断,例如,因为它们使用已删除或更改的内部API。上一步将通过在插件尝试使用API的弃用部分时发出弃用警告来帮助您识别潜在问题。
现在,您在libGDX的HTML设置中遇到了问题,但在非HTML设置中没有问题,因为使用了不同的插件。那些非HTML插件,如Android Gradle插件,要么不受影响,要么已及时更新。如果我没有弄错的话,在libGDX HTML项目中必须应用两个插件--WAR pluginGWT plugin。第一个是Gradle Core插件,我怀疑它不是最新的。后者是自定义的,有多种实现可供选择,如您所见。
所以--确保你所有的插件都是最新的。如果这没有帮助,并且您需要libGDX的HTML设置,那么您现在可能必须坚持使用Gradle 7。

相关问题