我试图添加buildnumber
maven插件以包含来自mercurial的hgchangeset
。这在终端中运行时非常适合我(我在Mac OSX上)。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
<goal>hgchangeset</goal> // The specific goal I'm interested in
<goal>create-timestamp</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<revisionOnScmFailure>true</revisionOnScmFailure>
<!-- format of the property 'buildNumber' -->
<format>{0,date,MMdd-HHmm}</format>
<items>
<item>timestamp</item>
</items>
</configuration>
</plugin>
</plugins>
然而,在Eclipse和詹金斯运行的时候,我得到这个错误:
[INFO] EXECUTING: /bin/sh -c cd /Users/Shared/Jenkins/Home/jobs/proj/workspace && hg id -i
[ERROR]
EXECUTION FAILED
Execution of cmd : id failed with exit code: 127.
Working directory was:
/Users/Shared/Jenkins/Home/jobs/proj/workspace
Your Hg installation seems to be valid and complete.
Hg version: NA (OK)
登录到该服务器作为用户“詹金斯的,我可以执行:hg id -i
就好了,我看到了正确的输出,因为hg
二进制文件位于我的$PATH
上,并在控制台中识别。
同样,Eclipse给出相同的输出。我想这是因为在终端maven版本可以看到我的hg
二进制文件在/usr/local/bin
,但Eclipse和Jenkins不能。
有什么方法可以告诉Maven在该位置使用hg
?我不在乎它是否必须硬编码,因为我们所有的计算机上的二进制位置都是相同的。
在此先感谢
回声$ PATH 在/ usr/bin中:/ bin中:/ usr/sbin目录:/ sbin目录:在/ usr/local/bin目录:在/ usr/X11/bin中:在/ usr /本地/ git/bin