2016-11-09 19 views
0

私はSpring REST Docsを使用して、APIのドキュメントを生成しています。 私はgradle buildを実行した後、私はbuild/asciidoc内のディレクトリのファイルはbuild/generated-snippetsでも発生していることがわかります、ここのチュートリアルからhttp://docs.spring.io/spring-restdocs/docs/current/reference/html5/春休みのドキュメント生成されたコンテンツが見つかりません

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' 
    } 
} 

をbuild.gradleためにすべてを追加しました。

しかし、私はIDEA Gradleのタスク​​とローカルホストにアクセスしようとするから実行:8080 /ドキュメント/ index.htmlを私は404ちょうどテストのために、私はresources/staticディレクトリの下にいくつかのindex.htmlファイルを入れて試してみたが見つからないばかりだし、その後、​​を実行し、それ以降はlocalhost:8080/index.htmlファイルにアクセスできます。

.jarファイルを開くと、静的ファイルがディレクトリBOOT-INF/classes/static/docsの下に表示されるため、jarファイルに圧縮されます。

多分誰かが同じ問題を抱えていたでしょうか?

+0

をあなたが示されてきたのGradleの構成では、 'bootRun'は、あなたのテストを実行したり、AsciidoctorからHTMLを生成していません。 –

+0

bootRunで生成することはできますか? –

答えて

1

​​を使用するとドキュメントが提供されるように、2つのことが必要です。この新しいタスクがasciidoctorタスクに依存していること

task copyRestDocs(type: Copy) { 
    dependsOn asciidoctor 
    from "${asciidoctor.outputDir}/html5" 
    into "${sourceSets.main.output.resourcesDir}/static/docs" 
} 

注:最初は​​で使用するクラスパス上にある場所に生成された文書をコピーすることです。これにより、ドキュメントがコピーされる前に生成されていることが保証されます。

第二に、​​タスクは新しいcopyRestDocsタスクに依存している必要があります

bootRun { 
    dependsOn copyRestDocs 
} 
関連する問題