Gradle 构建不包括源代码/src groovy

Gar*_*eid 1 groovy jar gradle

我正在尝试从基本程序创建一个 jar。

  • 我有一个基本的 groovy 项目,即 src/org...../*.groovy 在根目录中
  • 我有以下 build.gradle

    apply plugin: 'groovy'
    version = '1.0'
    
    repositories {
        mavenCentral();
    }
    
    dependencies
    {
        compile files (fileTree(dir: 'lib', include: ['*.jar']),
            fileTree(dir: 'lib/DocxDep', include: ['*.jar']))
    }
    
    task buildLabServicesJar(type: Jar) {
    from files(sourceSets.main.output.classesDir)
    from {
        configurations.compile.collect {
            it.isDirectory() ? it : zipTree(it)
        }
        configurations.runtime.collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }
    
    manifest {
        attributes 'Implementation-Title': 'Lab Services',
            'Implementation-Version': version,
            'Main-Class': 'org.xxx.clarity.ClarityServices'
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

问题是当我运行和/或检查 jar 文件时,我的 src/** sclasses 不包括在内!(所有依赖都是完美的)

这里有什么问题?

更新

当我添加: from files(fileTree(dir: 'src')) 到任务时,它包含 .groovy 文件:(

当我添加

from sourceSets.main.output.classesDir
Run Code Online (Sandbox Code Playgroud)

到任务和:

sourceSets {
    main {
        groovy {
            srcDir 'src'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

他们没有被包括在内:(找不到任何其他方式......

Mar*_*ira 5

默认情况下,Gradlesrc/main/groovy在应用 'groovy' 插件时查找源代码。您需要重构您的项目或配置您的源集以适当地反映您的项目结构。

  • @garethreid:不是。你不遵守惯例让自己过得很艰难。 (2认同)