gpt4 book ai didi

Gradle - 将 "compile"更改为 "implementation"出现错误

转载 作者:行者123 更新时间:2023-12-03 02:54:46 26 4
gpt4 key购买 nike

build.gradle - 部分:

    dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.15'
}

如果将compile改成implementation,构建时会出现如下错误:

Execution failed for task ':greeter:compileJava

改回去再构建就成功了。

提示:

  • 该项目正在使用 Gradle 4.10,它支持实现
  • 还有其他依赖项,在子项目中,更改为使用implementation 不会导致问题,只有这一行会。

有什么帮助吗?

最佳答案

我想知道为什么您的主要 java 项目需要 groovy-all,因为它用于编译 groovy 库。 实现配置应该足够了。

由于您的链接,我确实重现了您的问题并关注错误:

:greeter:compileJava FAILED
/mnt/star/git_repository/workspace/groovy_workplace/gradle/hello/hello_multi_project/greeter/src/main/java/greeter/Greeter.java:5: error: cannot access GroovyObject
final String output = GreetingFormatter.greeting(args[0]);
^
class file for groovy.lang.GroovyObject not found

为什么需要 GroovyObject 来编译您的 java 代码?我查看了 GroovyObject 源代码,它击中了我:

package groovy.lang;

/**
* The interface implemented by all Groovy objects.
* <p>
* Especially handy for using Groovy objects when in the Java world.
*
* @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
*/
public interface GroovyObject {
[...]

The interface implemented by all Groovy objects. Especially handy for using Groovy objects when in the Java world.

GreetingFormatter 是一个 Groovy 对象并隐式实现了 GroovyObject。这就是编译类路径中需要 groovy-all 的原因,即它应该在 groovy 库中声明为 compile 依赖项。

关于Gradle - 将 "compile"更改为 "implementation"出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52218749/

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