5

我试图让我的一个项目(ProjectA)生成一个包含所有测试类的 jar 文件,以便它可以在 ProjectB 中使用。

我做了一些研究,发现这是可能的解决方案:Create test jar artifact in gradle。这就是说下面的代码片段应该可以解决问题。

apply plugin: 'java'

task testJar(type: Jar) {
   classifier = 'tests'
   from sourceSets.test.classes
}

但是,当我将上述内容添加到 mybuild.gradle时,我收到以下错误消息:

  • 什么地方出了错:

评估根项目“gradle_project”时出现问题。

在任务“:testJar”上找不到属性“sourceSets”。

我已经在 Google 和 Gradle 文档中搜索了更多信息,但要么它已被删除,但没有在任何我能找到的地方记录它,要么我使用错误。我怀疑后者,只是不知道我做错了什么。

我在我的subprojects{}部分中尝试了相同的代码片段,但随后收到以下错误消息:

  • 什么地方出了错:

评估根项目“gradle_project”时出现问题。

无法在源集测试上获取只写属性“类”的值。

4

1 回答 1

5

通过以下步骤解决了它:

第 1 步:将代码段移动到该subprojects{}部分内

第2步:sourceSets.test.classes已删除。sourceSets.test.output似乎可以解决问题。发现这个:创建一个测试二进制文件的 Jar - Gradle

于 2012-05-31T14:12:00.243 回答