【问题标题】:Gradle set outputDir of java classesGradle设置java类的outputDir
【发布时间】:2018-07-10 03:25:09
【问题描述】:

这里我在 'src/main/java' 中有一个 java 文件的源集,我想将生成的 classFiles 发布到提到的 outputDir,但我得到一个错误。

Could not find method outputDir() for arguments [src/main] on root project

这是来自 build.gradle 的 sn-p

sourceSets {
    main.java {
       srcDir 'src/main/java'
        outputDir 'src/main'
    }
}

如何解决?

【问题讨论】:

  • 不确定为什么要将类转储到源文件夹中?

标签: android gradle groovy build.gradle source-sets


【解决方案1】:

请参阅SourceSetOutput GuideSourceSetOutput API Doc 上的文档,因为它提供了设置替代输出目录所需的详细信息

根据那里的示例和您的代码,我建议尝试使用

outputDir = dir('src/main')

这对于您收到的错误是有道理的,因为 outputDir 是属性而不是方法,您编写它的方式是方法调用。

虽然它只能通过知道你正在使用的确切 Gradle 版本来确定

【讨论】:

    【解决方案2】:

    outputDir 需要是(groovy)文件,而不是字符串(see docs)。

    您可以简单地使用file(..) 包装您的字符串路径。

    这应该可行:

    sourceSets {
        main.java {
           srcDir 'src/main/java'
           outputDir file('src/main')
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-09
      相关资源
      最近更新 更多