Gradle:类路径和编译依赖关系有什么区别?

2022-08-31 09:14:53

当我向我的项目添加依赖项时,我永远不确定我应该给它们加上什么前缀,例如 或"classpath""compile".

例如,下面的依赖项应该是编译时还是类路径?

另外,这应该在我的应用程序 build.gradle 中还是在特定于模块的 build.gradle 中?

当前 build.gradle(在应用程序级别):

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.hibernate:hibernate-core:5.0.5.Final'
    compile 'mysql:mysql-connector-java:5.1.38'
} 

答案 1

如果 buildscript 本身需要某些内容来运行,请使用类路径

如果您的项目需要运行某些内容,请使用编译

该块用于 build.gradle 本身。buildscript{}

对于多项目构建,顶级构建文件用于根项目,特定构建文件用于子项目(模块)。

顶级生成文件,您可以在其中添加所有子项目/模块通用的配置选项。

不要将应用程序依赖项放在顶级构建文件中,它们属于单个模块 build.gradle 文件


答案 2

我猜你正在引用并在块内。如果是这样,则这些是依赖项配置compileclasspathdependencies {}

配置只是一组命名的依赖项。

配置由 Java 插件创建。该配置通常在块中看到,其中需要为build.gradle本身声明依赖项(对于插件,也许是)。compileclasspathbuildSrc {}


推荐