簡體   English   中英

docbkx-maven-plugin:插件運行期間沒有 output

[英]docbkx-maven-plugin: No output during run of plugin

我設置了 docbkx-maven-plugin 來為源項目生成 PDF 文檔。 在父 pom 中,我指定了要使用的版本以及對要使用的 docbook 版本的引用:

<build>
<pluginManagement>
    <plugins>
        <plugin>
            <groupId>com.agilejava.docbkx</groupId>
            <artifactId>docbkx-maven-plugin</artifactId>
            <version>2.0.14</version>
            <dependencies>
                <dependency>
                    <groupId>net.sf.docbook</groupId>
                    <artifactId>docbook-xml</artifactId>
                    <version>5.0-all</version>
                    <type>zip</type>
                    <classifier>resources</classifier>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>
</pluginManagement>

在實際項目中我使用的配置:

<build>
<plugins>
<plugin>
    <groupId>com.agilejava.docbkx</groupId>
    <artifactId>docbkx-maven-plugin</artifactId>
    <executions>
        <execution> 
            <id>usersmanual</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>generate-pdf</goal>
            </goals>
            <configuration>
                <includes>${basedir}/UserManual/*.xml</includes>
                <includes>${basedir}/UserManual/src/*.xml</includes>
                                <targetDirectory>${project.build.directory}/UserManual</targetDirectory>
                <chunkedOutput>true</chunkedOutput>
            </configuration>
        </execution>
    </executions>
</plugin>
</plugins>
</build>

無論我指定什么目標或提供什么內容,插件都執行 no(.) 操作。 沒有創建目標目錄,我在命令行上看不到任何有意義的 output:結果如下所示:

[INFO] --- docbkx-maven-plugin:2.0.14:generate-pdf (usersmanual) @ documentation ---
[INFO]

我使用 Maven 3.0.3。

我在這里想念什么? 是否有任何未提供的配置,將啟動插件做一些工作?

更新:這就是我現在擁有的:

<plugin>
    <groupId>com.agilejava.docbkx</groupId>
    <artifactId>docbkx-maven-plugin</artifactId>
    <version>2.0.14</version>
    <dependencies>
        <dependency>
            <groupId>net.sf.docbook</groupId>
            <artifactId>docbook-xml</artifactId>
            <version>5.0-all</version>
            <type>zip</type>
            <classifier>resources</classifier>
        </dependency>
    </dependencies>
    <executions>
        <execution>
            <goals>
                <goal>generate-pdf</goal>
            </goals>
            <phase>prepare-package</phase>
            <configuration>
                <sourceDirectory>${project.basedir}/UserManual</sourceDirectory>
                <xincludeSupported>true</xincludeSupported>
                <includes>${project.basedir}/UserManual/UserManual.xml</includes>
                <includes>${project.basedir}/UserManual/**/*.xml</includes>
                <targetDirectory>${project.build.directory}/UserManual</targetDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

至少目錄 target/Usermanual 變大了,但它仍然是空的。 為什么還是沒有output? 我有機會從 docbkx 獲得有意義的日志文件嗎? mvn... -X 並沒有說明什么。

您的最新示例包含兩個 include 配置選項,這些選項無效 maven 配置。

我的建議是停止嘗試覆蓋所有這些默認設置並接受 docbook 源 xml 的默認位置,至少在開始時您對插件感到滿意並且可以診斷哪些問題來自哪些更改。

無論如何,您的<includes>應該只是您嘗試生成的文檔的根 xml 文件,因為它存在於<sourceDirectory>中。 您不需要包含所有xml 文件,而是需要遵循 xincludes 方法,因為您要聲明它的用法。 有許多使用此機制的項目,您可以查看和復制其用法。

我們的是: https://github.com/jetty-project/jetty-documentation

我們有一些更復雜的用法,因為我們使用 maven 過濾插件來避免混淆實體等。 回到您的包含用法,如果您的頂級文檔文件是 index.xml 那么您的包含將只是:

<includes>index.xml</includes>

不需要表達式或 glob,您可以在需要時使用<xi:include>標簽引入其他 xml 文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM