0

我有一份詹金斯的工作,它使用 buckminster 来构建一个 eclipse 产品。

一开始我有一个“扩展选择参数”,可以选择“客户”键。

在 buckminster 配置中,我使用这个“客户”变量来选择正确的 cquery:

导入'${WORKSPACE}/source/scodi-customer/${customer}/server/features/ch.scodi.${customer}.server.feature/site.cquery'

由于变量“customer”在命令中默认不可用,我在“JVM arguments”中添加了以下内容:

-Dcustomer=${客户}

这一切过去都运行良好,但现在我将服务器和构建环境从 Java 1.7 32 位更新到 Java 1.8 64 位。从那时起,我在尝试构建时收到以下错误:

java.io.FileNotFoundException: [Path to job]\source\scodi-customer\${customer}\server\features\ch.scodi.${customer}.server.feature\site.cquery (系统找不到路径指定的)

在变量被很好地解决之前。
这是 buckminster 还是 java8 问题,无法解析 ${customer} 变量?是否有另一种(更清洁的)方法可以将变量传递给 buckminster 配置?

编辑:我做了一些进一步的测试并将以下内容添加到 JVM 参数中,我得到相同的异常,指的是缺少的 ${customer}。在我看来,JVM 参数被忽略了。

-Dcustomer=客户

4

1 回答 1

0

最后我找到了一个解决方法。

我不得不将我的“客户”变量重命名为“客户”,现在它已在 buckminster 命令区域中解决。

从:

导入'${WORKSPACE}/source/scodi-customer/${customer}/server/features/ch.scodi.${customer}.server.feature/site.cquery'

至:

导入'${WORKSPACE}/source/scodi-customer/${CUSTOMER}/server/features/ch.scodi.${CUSTOMER}.server.feature/site.cquery'

我的 JVM 参数也来自:
-Dcustomer=${customer}
到:
-Dcustomer=${CUSTOMER}

发现 JVM 参数与 buckminster 命令接口无关,但稍后在“cspex”文件中使用。

在 Windows 机器上运行 Jenkins 这可能会导致这个问题......
所以实际的问题是“扩展选择参数”的命名,而不是大写。

于 2015-06-30T07:50:29.203 回答