gpt4 book ai didi

gradle - 如何将 java 源添加到 gradle buildscript 类路径?

转载 作者:行者123 更新时间:2023-12-03 02:40:15 25 4
gpt4 key购买 nike

我有一个 Java 类,我想从我的 gradle 构建脚本中调用它:

buildscript {
dependencies {
// This is the part I can't figure out...
classpath files("src/main/java/com/example")
}
}

import com.example.MyClass

task runner(dependsOn: 'classes') << {
def text = com.example.MyClass.doIt()
println text
}
doIt()方法只返回一个字符串。

项目布局如下:
.
├── build.gradle
└── src
└── main
└── java
└── com
└── example
└── MyClass.java

我知道我需要将类添加到构建脚本依赖项中,否则导入无效,但我不明白如何将项目源添加为构建脚本的依赖项。我尝试了以下方法:
classpath project
classpath rootProject
classpath project(":gradle-test")
classpath files("src/main/java/com/example")

我无法绕过
> startup failed:
build file '/Users/jameselsey/development/james-projects/gradle-test/build.gradle': 8: unable to resolve class com.example.MyClass
@ line 8, column 1.
import com.example.MyClass
^

1 error

如何添加 MyClass到构建脚本依赖项?

最佳答案

您可以通过两种方式实现这一点。

  • 如果您的 Java 代码很小,那么您可以简单地将其转换为 groovy 并将其包含在 gradle 脚本中。
  • 如果您的代码相当大并且需要多个类,则首选选项是使用隐式 [buildSrc]
    您可以在 buildSrc/src/main/java 下创建类,这些类将被编译并放置在 buildscript 类路径中,并可在 gradle 脚本期间使用。

  • 项目源(类、测试类、资源)在构建脚本期间不可用。因为这会引入循环依赖,因为您需要构建来编译源代码,而构建需要类来执行。

    Gradle 文档: http://gradle.org/docs/current/userguide/organizing_build_logic.html#sec:build_sources

    示例: https://zeroturnaround.com/rebellabs/using-buildsrc-for-custom-logic-in-gradle-builds/

    关于gradle - 如何将 java 源添加到 gradle buildscript 类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28334174/

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