我有一个jenkins工作,它使用buckminster来构建一个eclipse产品。
一开始我有一个"扩展选择参数" "客户"可以选择密钥。
在buckminster配置中,我使用了这个"客户"变量来选择正确的cquery:
导入' $ {WORKSPACE} / source / scodi-customer / $ {customer} /server/features/ch.scodi。$ {customer} .server.feature / site.cquery'
由于变量"客户"默认情况下,命令不可用,我将以下内容添加到" JVM参数":
-Dcustomer = $ {客户}
这一切都运行良好,但现在我更新了服务器和构建环境,从Java 1.7 32位到Java 1.8 64位。 从那时起,我在尝试构建时遇到以下错误:
java.io.FileNotFoundException:[作业路径] \ source \ scodi-customer \ $ {customer} \ server \ features \ ch.scodi。$ {customer} .server.feature \ site.cquery(系统不能找到指定的路径)
变量解决之前没问题 这是一个buckminster还是java8问题,无法解析$ {customer}变量?是否可能有另一种(更干净的)方法将变量传递给buckminster配置?
编辑:我做了一些进一步的测试并将以下内容添加到JVM参数中,我得到了相同的异常,指的是缺少$ {customer}。在我看来,JVM参数被忽略。
-Dcustomer = CUSTOMER
答案 0 :(得分:0)
最后我找到了解决方法。
我必须重命名我的"客户"变量为" CUSTOMER",现在它在buckminster命令区域中被解析。
自:
进口 ' $ {WORKSPACE} /源极/ scodi-客户/ $ {客户} /server/features/ch.scodi $ {客户} .server.feature / site.cquery'
要:
进口 ' $ {WORKSPACE} /源极/ scodi-客户/ $ {客户} /server/features/ch.scodi $ {客户} .server.feature / site.cquery'
我的JVM参数来自:
-Dcustomer = $ {}客户
要:
-Dcustomer = $ {客户}
发现JVM参数与buckminster命令接口无关,但稍后会在" cspex"中使用。文件。
在Windows计算机上运行Jenkins可能会导致此问题...
所以实际问题是"扩展选择参数"的命名,而不是大写。