0

maven pdfプラグインで生成されるpdfにビルド番号を含めようとしています。私が取り組んでいるプロジェクトのすべてのドキュメントは、maven サイトとして書かれています。このようにして、すべてのドキュメントがソース コードとともに保存されます。

Pom.xml

そのため、pom.xml で buildnumber プラグインを定義しました。

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>buildnumber-maven-plugin</artifactId>
   <version>1.2</version>
   <executions>
     <execution>
       <phase>generate-resources</phase>
       <goals>
         <goal>create</goal>
       </goals>
     </execution>
   </executions>
   <configuration>
     <doCheck>false</doCheck>
     <doUpdate>false</doUpdate>
     <format>{0,date,yyyy-MM-dd_HH-mm}_{1}</format>
     <items>
       <item>timestamp</item>
   <item>${user.name}</item>
     </items>
   </configuration>
 </plugin>

pdf.xml

そしてpdf.xmlで

<cover>
  <coverTitle>${project.name}</coverTitle>
  <coverSubTitle>v. ${project.version}</coverSubTitle>
  <coverType>Technical documentation</coverType>
  <coverVersion>build: ${project.buildNumber}</coverVersion>
  <projectName>${project.name}</projectName>
  <projectLogo>images/telfortlogo.jpg</projectLogo>
 </cover>

リソースフィルタリングも入れまし${basedir}/siteたが、効果はありません。buildnumber プラグインの結果ではなく、${buildNumber} を取得し続けます。

4

1 に答える 1

1

同様の機能を実現するために、buildnumberプラグインの構成は次のようになりました。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <version>1.2</version>
    <executions>
        <execution>
            <phase>pre-site</phase>
            <goals>
                <goal>create</goal>
            </goals>
            <configuration>
                <doCheck>false</doCheck>
                <doUpdate>false</doUpdate>
                <format>{0,date,yyyy-MM-dd_HH-mm}_{1}</format>
                <items>
                    <item>timestamp</item>
                    <item>${user.name}</item>
                </items>
            </configuration>
        </execution>
    </executions>
</plugin>

そしてpdf.xmlで:

<cover>
    <coverTitle>${project.name}</coverTitle>
    <coverSubTitle>v. ${project.version} build ${buildNumber}</coverSubTitle>
    <coverType>User Guide</coverType>
    <projectName>${project.name}</projectName>
</cover>

あなたの問題は、リソースの生成フェーズでビルド番号作成の目標を実行しているという事実に起因していると思います。mvn pdf:pdfまた、またはを使用している場合mvn site、generate-resourcesは実行されません。私のセットアップでは、サイトフェーズで実行するようにpdfプラグインを構成しました。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pdf-plugin</artifactId>
    <executions>
        <execution>
            <id>pdf</id>
            <phase>site</phase>
            <goals>
                <goal>pdf</goal>
            </goals>

その後、サイトフェーズの最後に生成されるPDFを取得できます。

于 2013-02-15T13:17:25.793 に答える