Mavenでドキュメントを作成する
-
06-07-2019 - |
質問
私はちょうど Maven を再検討しているところです。これを最後に確認したとき、私たちのチームは悪い経験をしました。Maven が 1.x から 2.x に再設計されていた時期だったため、必要な依存関係の多くが新しいリポジトリに移行されていなかったためです。 。しかし、今はもう一度考える時間があります。
私は Maven と LaTeX または DocBook を使用してドキュメントを作成することに興味があります。プロジェクトやモジュールの構造、使用する優れたプラグインなどを共有できる経験がある人がいるかどうか疑問に思っていました。
どうもありがとう :-)
編集:
明確にしておきますが、私は技術的な記事/本を書こうとしていましたが、私が望む成果物はおそらく PDF になるでしょう。
解決
最近、docbook と Maven 用の docbkx プラグインを使用して、Maven マルチモジュール プロジェクトのプロジェクト ドキュメントを実装しました。プロジェクト サイトを構築するたびに、HTML ファイルと PDF ファイルを自動的に生成するようになりました。docbkx は本当に素晴らしいと思うので、それを使用することをお勧めします。
それは本当です。Maven サイトと doxia プラグインを使用するだけで、非常に素晴らしいサイトを作成できます。実際、私はこれら 2 つを使用してプロジェクト サイトを生成しています。しかし、docbook に対する doxia のサポートは非常に限定的であり、たとえば、メイン ドキュメント内のドキュメントの一部を含むドキュメントをモジュール化することはできません。したがって、大きなリファレンスマニュアルには docbkx を使用しています。
覗いてみたい場合は、私のプロジェクトは次のとおりです ここ. 。実際にソースをダウンロードして、その詳細を確認することができます。そしてもちろん、この設定に関してご質問がございましたら、喜んでお手伝いさせていただきます。
Cheers Carlos
他のヒント
DocBookは、Mavenでドキュメントを生成するために使用されるエンジンであるDoxiaへの多くのサポートされている入力の1つです。ここを参照してください: http://maven.apache.org/doxia/modules/index.html
実際、Doxiaサイトはあなたの正確な質問に答えます: http://maven.apache .org / doxia / book / index.html
MavenプラグインDocbkxを使用して成功しました。試してみてください
Maven Docbkxプラグインを必ずご覧ください。それはおそらくあなたのニーズに合っています。 DoxiaによるDocBookのサポートは最適ではありません。実際、前回試してみたところ、DocBook以外の新しいものが生成されました(私が知る限り)。
私が言及しているMaven Docbkxプラグインは、世界のすべてのカスタマイズをサポートしています(プラグインパラメーター、またはXSLTオーバーライドを使用する場合)。また、Mavenビルドと統合するためのメカニズムを備えています。 (Maven pomプロパティをドキュメントに含めるための処理手順など。)
野心は、自分で処理チェーンを手動でまとめる必要のないプラグインを持つことです。そのため、このプラグインはFOへの変換と、PDFへの変換の両方を行います。
質問はかなり古いですが、これについての最新情報を提供したいと思います。ドキュメントにLaTeXを使用する場合は、mavenプラグインを使用してドキュメントを生成する必要があります。これを行うmavenプラグインがいくつかありますが、それらの多くはもはやメンテナンスされていません。 新しいmaven-pluginがあり、それを機能させるための設定は必要ありません。生成されたPDF(またはPSまたはDVI)はアーティファクトとして公開できます。
ご覧ください: mathan-latex-maven-plugin
LaTeXまたはDocBookを処理する公式または準公式のプラグインはないが、(前述のサイトプラグインを使用する以外に)できることは、サイトライフサイクル中にLaTeX / DocBookソースを処理するようにexecプラグインを構成することです、つまりプロジェクトのウェブサイトが構築されると同時に。
たとえば、次のようなもの
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>latex</id>
<goals>
<goal>exec</goal>
</goals>
<phase>site</phase>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>