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>

我相信您的问题来自您在生成资源阶段执行 buildnumber 创建目标的事实。如果您使用mvn pdf:pdfor 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 回答