【发布时间】:2015-01-15 01:44:21
【问题描述】:
我正在尝试从一个基本程序创建一个 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' } }
问题是当我运行和/或检查 jar 文件时,我的 src/** 中的 sclass 不包括在内! (所有的依赖都是完美的)
这里有什么问题?
更新
当我添加: 从文件(文件树(目录:'src')) 它包含 .groovy 文件的任务:(
当我添加时
from sourceSets.main.output.classesDir
任务和:
sourceSets {
main {
groovy {
srcDir 'src'
}
}
}
他们没有被包括在内:(找不到任何其他方式....
【问题讨论】:
-
只是为了澄清我在世界各地的 gradle 文件中看到的一个小问题。 groovy.srcDir 'src' 是将'src' 目录添加 到源目录列表中(按照惯例,它包含 src/main/groovy,就像已经指出的标记一样)。 REPLACE 约定使用 groovy.srcDir = ['src']