Java Gradle:创建一个没有类,只有资源的jar

Java Gradle:创建一个没有类,只有资源的jar,java,jar,gradle,build.gradle,Java,Jar,Gradle,Build.gradle,我正在尝试用以下模式创建一组四个jar(每个jar都有自己的项目。helpRootDir在所有四个jar之间共享。如果有人知道一种方法来完成一项任务,这将是非常棒的) 不管怎样,正如您从上面看到的,我不希望jar中有任何类,这是可行的。不幸的是,我在jar中实际得到的只是一个MANIFEST.MF文件。jar定义中没有任何文件被添加。我希望将${helpRootDir}/${helpDir}中的完整文件树添加到jar的根目录中。我如何做到这一点?发现我引用的变量不正确 正确的语法是: def h

我正在尝试用以下模式创建一组四个jar(每个jar都有自己的项目。
helpRootDir
在所有四个jar之间共享。如果有人知道一种方法来完成一项任务,这将是非常棒的)


不管怎样,正如您从上面看到的,我不希望jar中有任何类,这是可行的。不幸的是,我在jar中实际得到的只是一个MANIFEST.MF文件。jar定义中没有任何文件被添加。我希望将
${helpRootDir}/${helpDir}
中的完整文件树添加到jar的根目录中。我如何做到这一点?

发现我引用的变量不正确

正确的语法是:

def helpRootDir = 'runtime/datafiles/help/'
project(':schedwinclihelp') {
    def helpDir = 'schedwincli'

    //Include no classes.  This is strictly a resource jar
    sourceSets.main {
        java {
            exclude 'com/**'
        }
        resources {
            srcDir  helpRootDir + '/' + helpDir
        }
    }
}

注意
srcDir-helpRootDir+'/'+helpDir
而不是
'${helpRootDir}/${helpDir}'
。此外,我刚刚将我的help dir设置为resource dir,并让java插件自动完成任务。

这仍然是使用gradle向jar添加资源的正确方法吗?TBH我在目前的工作中使用maven,已经好几年没有接触gradle了。如果这对您的用例不起作用,我建议您发布一个新问题
def helpRootDir = 'runtime/datafiles/help/'
project(':schedwinclihelp') {
    def helpDir = 'schedwincli'

    //Include no classes.  This is strictly a resource jar
    sourceSets.main {
        java {
            exclude 'com/**'
        }
        resources {
            srcDir  helpRootDir + '/' + helpDir
        }
    }
}