我想使用maven-exec-plugin运行命令行(cmd),使用Pandoc将Markdown文件转换为PDF文件。
要手动执行此操作,我执行了以下命令:
pandoc ReadMe.md -o ReadMe.html
pandoc ReadMe.html --latex-engine=xelatex -o ReadMe.pdf我无法在一个命令中运行,pandoc给出了奇怪的错误!但这是另一个问题..。
我已经将这个添加到我的pom文件中,使用了在网上找到的其他示例,但没有成功。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>pandoc</id>
<phase>generate-pdf</phase>
<configuration>
<executable>cmd</executable>
<workingDirectory></workingDirectory>
<arguments>
<argument>/C</argument>
<argument>pandoc</argument>
<argument>README.md</argument>
<argument>-o</argument>
<argument>README.html</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>我不是专家大师,我很感激你的帮助!
发布于 2015-12-02 20:24:29
定义的阶段<phase>generate-pdf</phase>不是maven阶段,因此Maven没有将执行绑定到其工作流。
您应该将其绑定到标准的Maven阶段,这取决于您的需要。例如,尝试<phase>package</phase>,它将在构建结束时执行。
插件执行的id元素是免费文本,您可以键入您想要的id,它将作为构建输出的一部分出现在插件和目标名称之后的曲线括号中,
即exec-maven-plugin:1.1:exec (pandoc)
相反,phase元素必须匹配一个众所周知的maven阶段,以便将插件/目标执行附加到它。如果这个阶段不为人所知,那么Maven就会忽略这个插件/目标执行(这也是一种采用的方法,通常使用事实上的标准none作为阶段,以禁用继承的插件执行,但对于这个问题的范围来说,这有点超前)。
https://stackoverflow.com/questions/34051477
复制相似问题