我正在使用Gradle编写构建文件来执行Java构建操作。但是,Gradle不会为我的项目生成Javadoc。根据Gradle.org的文档,要在Gradle中实现Javadocs任务,必须指定源和类路径。
apply plugin: 'java'
javadoc {
source = sourceSets.main.allJava
classpath = configurations.compile
}
但是,当我运行命令gradle javadoc
或gradle build
时,永远不会创建javadocs(build \ docs)的默认文件夹,因此不会为项目生成html文件。我该怎么做才能解决这个问题?
答案 0 :(得分:2)
好像您的目录结构不是标准src/main/java
。如果是这种情况,那么您需要将include模式指定为include闭包的一部分,如下所示:
javadoc {
source = sourceSets.main.allJava
classpath = configurations.compile
}
include **/your/directory/structure/*
答案 1 :(得分:0)
由于各种原因,我们在gradle中为java项目创建了一个自定义类路径。主要是因为我们希望将依赖项分解为运行时提供的那些不依赖项。
所以我们像这样设置build.gradle
configurations {
providedCompile
}
dependencies {
providedCompile 'provided1', 'provided2
providedCompile 'provided3'
compile 'compile1'
compile ('compile2')
{
exclude group: 'unwanted part'
}
}
sourceSets.main.compileClasspath += configurations.providedCompile
javadoc.classpath += configurations.providedCompile
sourceSets.test.compileClasspath += configurations.providedCompile
sourceSets.test.runtimeClasspath += configurations.providedCompile
我们需要添加最后一部分,以便gradle正确地选择用于遵守,测试和运行javadoc的类路径。
答案 2 :(得分:0)
您可以编写Javadoc类型的gradle任务来创建这样的javadoc:
CALL apoc.index.search("cat", "Category.name:fashion") YIELD node AS catg
要创建Javadoc,只需运行此任务。
答案 3 :(得分:0)
如果包含关闭不起作用,则添加 sourceSet 闭包, srcDir 指向模块/ java目录。
以下示例适合我。这里的java目录是src / main / java ,我有我所有的包裹。
sourceSets {
build {
java.srcDir file('src/integrationTest/java')
}
}
javadoc {
source = sourceSets.main.allJava
classpath = configurations.compile
}
运行$ gradle javadoc
答案 4 :(得分:0)
只需为答案添加更多结构,这些就是生成Javadoc所需的配置(使用 Gradle版本4和5 )。
1。定义您的sourceSet (如果使用标准Maven目录结构,则可能是可选的)。假设此目录结构为:
├── src
│ └── main
│ ├── java
├── src
│ └── test
│ ├── java
像这样定义sourceSet
sourceSets {
main {
java {
srcDirs =['src/main/java']
}
test {
java {
srcDirs =['src/test/java']
}
}
2。配置生成javadoc时要使用的classpath 。如果不这样做,将导致类似以下错误:error: package org.xxxx
不存在。
假设您的依赖项定义如下:
dependency {
compile group: 'xxxx', name: 'yyyy', version: 'zzzz'
testCompile group: 'aaaa', name: 'bbbb', version: 'cccc'
}
以这种方式定义javadoc任务
tasks.withType(Javadoc){
source = sourceSet.main.java.srcDirs
classpath +=configuration.compile
destinationDir = reporting.file("myJavaDoc") //optional
}
如果要生成Java文档进行测试,任务将如下所示:
tasks.withType(Javadoc){
source = sourceSet.test.java.srcDirs
classpath +=configuration.compile
classpath +=configuration.testCompile
destinationDir = reporting.file("myJavaDoc") //optional
}