我对Gradle有一些疑问。
buildscript.dependencies
和dependencies
之间有什么区别?
classpath
?compile
和apply plugin:
之间的区别是什么?HashSet<string> uniqueStrings = new HashSet<string>();
foreach (string s1 in list1)
{
uniqueStrings.Add(s1);
}
foreach (string s2 in list2)
{
uniqueStrings.Add(s2);
}
是什么意思?答案 0 :(得分:2)
只需查看他们的文档,他们已经很好地描述了它。但就是这样: 1:
如果构建脚本需要使用外部库,则可以添加它们 到构建脚本本身的脚本的类路径。你做这个 使用buildscript()方法,传入一个声明的闭包 构建脚本类路径。
这对外部依赖项很有用(例如来自于buildcript部分的Internet repos。)
2: Docs包含每个表格和说明。 编译时会在编译时获得依赖关系。 (例如,您可以设置'runtime',这些依赖项将在运行时使用,或者testCompile仅在编译测试期间使用)。这是非常重要的!阅读他们的文档。当然,你可以尝试每次编译所有内容,但这真是个糟糕的主意。很好的例子是JUnit测试,你只需要在编译测试期间使用JUnit然后使用compileTest:
testCompile "junit:junit:X.YZ"
3: 这意味着你应用插件:)你应用java,或者当你需要弹簧或弹簧启动时,你只需要告诉Gradle,嘿Gradle,我将使用它,所以适用它。更多here。
答案 1 :(得分:1)
我建议你下载完整的Gradle发行版,只是因为它提供了用户指南的PDF版本(我不知道有任何其他方式来获取用户指南PDF)。从上到下阅读,跳过与您无关的章节。您将获得所有这些问题的答案,以及您尚未提出的更多问题。
但是,我会给你一些简短的答案。
Q1:Gradle具有构建脚本的依赖关系,以及您正在构建的代码的依赖关系。它们是分开的。
Q2:Classpath是Java使用的运行时概念,Gradle以不同的方式使用它。编译是一种“配置”,您可以添加依赖项,这会影响最终的运行时类路径。
问题3:“apply plugin”正在应用Gradle插件。阅读用户指南。