我在网上搜索了“Gradle classpath site:stackoverflow.com”和“Gradle classpath”,只在以下文件中找到相关信息:
Gradle:What is the difference between classpath and compile dependencies?
余登宝的回答是这样写的:
编译'org.hibernate:hibernate-core:5.0.5.final'是一个模块依赖项声明。编译配置(现在已被实现配置弃用。)仅仅是实现依赖项的关键字。它不是一个描述依赖类型的关键字(这里我按照教程中定义的三种类型,即模块、文件和项目)
因此,据我所知classpath
也是关键字。我试图在gradle docs中找到它的含义:https://docs.gradle.org/current/userguide/declaring_dependencies.html
https://docs.gradle.org/current/userguide/dependency_management_for_java_projects.html https://docs.gradle.org/current/userguide/java_library_plugin.html https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.configuration.html https://docs.gradle.org/current/userguide/variant_model.html
还有:https://docs.gradle.org/current/javadoc/org/gradle/api/initialization/dsl/scripthandler.html https://docs.gradle.org/current/javadoc/org/gradle/api/Tasks/classpath.html https://docs.gradle.org/current/userguide/organize_gradle_projects.html
有提到“compile classpath”。如果classpath
关键字只是作为compile
关键字而不推荐使用,那么为什么文档中没有它呢?
附注。我的意思是:
buildscript {
repositories {
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
}
}
因此,据我所知classpath
也是关键字
这是不正确的。类路径
、编译
、实现
、API
等等都是配置。Gradle中的配置是树状的,这意味着每一个配置通常都是从某个父配置扩展而来:
来源:https://docs.gradle.org/current/userguide/java_library_plugin.html#sec:java_library_configurations_graph
例如,当您在build.gradle
中执行以下操作时,可以使用implementation
配置:
dependencies {
implementation("org.apache.commons:commons-lang3:3.9")
}
你实际上是在做:
project.getDependencies().add("implementation", "org.apache.commons:commons-lang3:3.9")
前者使用Gradle DSL,后者直接使用Gradle API。
如果classpath
关键字只是作为compile
关键字而不推荐使用,那么为什么文档中没有它呢?
如此处所述,不推荐使用compile
配置。仍然使用类路径
配置,但通常只与buildscrpt{}
块一起使用。
因此,对于您的示例:
buildscript {
dependencies {
classpath("com.android.tools.build:gradle:3.4.1")
}
}
Desugars至:
project.getBuildscript().getDependencies().add("classpath", "com.android.tools.build:gradle:3.4.1")
我在网上搜索了“gradle classpath site:stackoverflow.com”和“gradle classpath”,只在以下内容中找到了相关信息: gradle:类路径和编译依赖项之间的区别是什么? 在余登宝的回答中写道: compile'org.hibernate:hibernate-core:5.0.5.final'是一个模块依赖项声明。编译配置(实现配置现在不推荐使用它。
这两天我一直在和Git Bash合作。我现在知道了诸如、、、和等基本操作。但我还是不知道Git Bash本身到底是什么! 我已经搜索了很多关于Git Bash的内容,但是我看到的所有站点都集中在它的命令的功能上。我仍然没有为我的问题找到一个好的答案。现在,我想,我在正确的地方得到这个答案!
问题内容: 我想在同一类对象的各种实例之间共享一个对象。 从概念上讲,在我的程序运行时,类A的所有对象都访问类B的相同对象。 我已经看到这是系统范围的,不鼓励使用它。这是否意味着如果我在实例化类A的对象的同一JVM上运行另一个程序,则这些对象可能会访问与先前程序中访问的对象相同的B对象? 使用静态字段的一般缺陷是什么? 是否有其他选择(不需要大量的实施工作)? 问题答案: 静态不是完全意味着“由所
(...)当您在非托管环境中使用JmsTemplate时,您可以通过使用属性SessionTransact和SessionAccountingEmode来指定这些值(事务和确认模式)。 当您将PlatformTransactionManager与JmsTemplate一起使用时,模板总是被赋予一个事务性JMS会话。(..) (顺便说一句,这是真的--会话是事务性的) 我调试了它不正确的原因,发现:
问题内容: 我是JAVA的新手,因此遇到了这个词。“在方法内部创建的类,在Java中称为本地内部类。如果要调用本地内部类的方法,则必须在方法内部 实例化 该类”。粗体字。任何人都可以帮我解决这个问题。我知道这很尴尬,我应该做更多的研究,但我只是不明白。谢谢。 问题答案: 首先 声明的意思是 : 实例化的 简单含义 是从class创建一个对象 。 什么是物体? 类的实例。从一个类中,我们可以创建许多
问题内容: 我正在尝试从parse.com实现一些代码,并且在void后发现一个关键字。 我难住了,这是什么?您在第二行看到 该文档没有对此进行说明。我知道关键字用于循环。 有人确认吗? 问题答案: 在命名函数中,我们声明参数并在声明行中返回类型。 在匿名函数中,没有声明行-它是匿名的!因此,我们在正文的开头使用一行来代替。 (这是匿名函数的 完整 形式。但是Swift拥有一系列规则,允许在某些情