Maven with Ant:exec命令行

时间:2015-05-27 09:31:49

标签: java maven ant

我想通过在pom.xml中运行ant任务来检索计算机的序列号。

<profile>
        <id>generate-license</id>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <executions>
                        <execution>
                            <phase>compile</phase>
                            <configuration>
                                <tasks>
                                    <exec executable="wmic bios get serialnumber"
                                          resultproperty="serialNumber"
                                          failonerror="false" />
                                    <echo message="Serial number: ${serialNumber}" />
                                </tasks>
                            </configuration>
                            <goals>
                                <goal>run</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>

我在编译阶段执行maven,结果如下:

  

[警告]不推荐使用参数任务,而是使用目标   [INFO]执行任务

主要:

  

[INFO]   -------------------------------------------------- ---------------------- [INFO]建筑失败
  [信息]   -------------------------------------------------- ---------------------- [INFO]总时间:1:48.264s
  [INFO]完成时间:5月27日星期三10:17:57 GMT + 01:00 2015
  [INFO]最终记忆:11M / 121M
  [信息]   -------------------------------------------------- ---------------------- [错误]无法执行目标   org.apache.maven.plugins:maven-antrun-plugin:1.7:运行(默认)on   project runner:发生Ant BuildException:执行失败:   java.io.IOExcept ion:无法运行程序“wmic bios get serialnumber”:   CreateProcess error = 2,LefichierspÚcifiÚestintrouvable
  [ERROR]围绕Ant部分...... ......   C:\ xxx \ yyy \ target \ antrun \ build-main.xml

中的4:100

1 个答案:

答案 0 :(得分:1)

您可以使用以下语法尝试参数吗?

<exec executable="wmic" resultproperty="serialNumber" failonerror="false">
      <arg value="bios" />
      <arg value="get" />
      <arg value="serialnumber" />
</exec>