我在模板中具有以下免费标记:
${root.product.getInventoryReference(channel)}
在eclipse中运行我的应用程序时,它工作正常,但是当我运行编译版本时,出现错误:
Expression root.product.getInventoryReference(channel) is undefined on line 3, column 28 in rtd.integration.builder.ApiOperationConfigurationKeySource@b701440-sourceTemplate.
The problematic instruction:
----------
==> ${root.product.getInventoryReference(channel)} [on line 3, column 26 in rtd.integration.builder.ApiOperationConfigurationKeySource@b701440-sourceTemplate]
----------
我的产品对象具有如下的getInventoryReference方法:
public class Product extends ... {
...
public String getInventoryReference(Channel channel) {
ChannelProduct selectedChannelProduct = getChannelProduct(channel);
if (selectedChannelProduct != null) {
return selectedChannelProduct.getInventoryReference();
}
return null;
}
...
}
我知道product,root和channel不为空,因为我无法从同一模板内的root.product访问其他方法,并在其他地方使用channel。
我还检查了应用程序构建版本中的产品类文件是否确实具有该方法。反编译后,我可以确认是这种情况。
有人对为什么会失败有其他想法吗? 谢谢