我正在处理一个使用Gradle构建的开源项目.我想生成一个(project)-sources.jar文件,我可以将其加载到我的IDE(IntelliJ IDEA)中并通过项目进行调试.如果我能生成文件,我知道如何加载它.

我已经查看了该项目可用的Gradle任务,但没有一个可以生成源jar文件.

为这个项目生成源jar文件最简单的方法是什么?

将源代码添加到包含已编译类文件的jar文件中也可以.

推荐答案

task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives sourcesJar
    archives javadocJar
}

Java相关问答推荐

摆脱双列举导致的Json解析错误问题

Java字符串常数池困惑

Cucumber TestNG Assert失败,出现java. lang. Numbercycle异常

Android Studio—java—在onBindViewHolder中,将断点和空白添加到BackclerView中

如何在带有Micronaut的YAML中使用包含特殊字符的字符串作为键

Java编译器抛出可能未正确初始化的错误?

自定义批注的外推属性值

在Eclipse中数组的可空性

Tinylog中的滚动文件会在每次应用启动时覆盖日志(log)文件

WebSockets和Spring Boot安全性出现错误401

Dijkstra搜索算法的实现

S数学.exp的相同错误保证也适用于StrictMath.exp吗?

Spring Validator批注不起作用

在整数列表中查找和可被第三个整数整除的对时出现无法解释的RunTimeError

基于Java中mm/dd/yy格式的最近日期对数组列表进行排序

当使用不同的参数类型调用时,为什么围绕Objects.equals的类型安全包装不会失败?

Intellij 2023 IDE:始终在顶部显示菜单栏

JOOQ:批处理CRUD操作使用动态表定义,如何?

如何使JOOQ渐变脚本不重新创建表未更改的类?

javax.crypto-密码对象-提供者服务是如何工作的?