我正在使用Spring REST Docs为我们的API生成文档。 我已经从这里的教程http://docs.spring.io/spring-restdocs/docs/current/reference/html5/
添加了build.gradle的所有内容protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vertretungsplan);
Button dlbutton = (Button) findViewById(R.id.buttondownload);
dlbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(myurl));
request.setTitle("Vertretungsplan");
request.setDescription("wird heruntergeladen");
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
String filename = URLUtil.guessFileName(myurl,null, MimeTypeMap.getFileExtensionFromUrl(myurl));
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS + "Schul-App",filename);
DownloadManager manager =(DownloadManager) this.getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
}
});
在我ext {
snippetsDir = file('build/generated-snippets')
}
test {
outputs.dir snippetsDir
}
asciidoctor {
attributes 'snippets': snippetsDir
inputs.dir snippetsDir
outputDir "build/asciidoc"
dependsOn test
sourceDir 'src/main/asciidoc'
}
jar {
dependsOn asciidoctor
from ("${asciidoctor.outputDir}/html5") {
into 'static/docs'
}
}
之后,我可以看到在gradle build
目录文件中生成了build/asciidoc
。
但是当我从IDEA gradle任务build/generated-snippets
运行并尝试访问localhost时:8080 / docs / index.html我找不到404.仅仅是为了测试我试图放一些{{1在bootRun
目录下的文件,然后执行index.html
,之后我可以访问resources/static
文件。
如果我打开我的.jar文件,我可以看到目录bootRun
下的静态文件,因此它们被打包到jar中。
也许有人有同样的问题?
答案 0 :(得分:3)
您需要执行两项操作,以便在使用bootRun
时提供文档。第一种是将生成的文档复制到bootRun
使用的类路径上的位置:
task copyRestDocs(type: Copy) {
dependsOn asciidoctor
from "${asciidoctor.outputDir}/html5"
into "${sourceSets.main.output.resourcesDir}/static/docs"
}
请注意,此新任务取决于asciidoctor
任务。这可确保文档在复制之前生成。
其次,bootRun
任务必须依赖于新的copyRestDocs
任务:
bootRun {
dependsOn copyRestDocs
}