Какую версию гибриса вы используете?
Потому что я столкнулся с этим при обновлении с 6.3 до 6.7 при публикации промоушена.
Я переопределил метод в моем пользовательском классе в 6.3, который выглядит следующим образом:
@Override
protected String generateRuleContentRule(final DroolsRuleGeneratorContext context, final String actions, final String metadata)
{
final AbstractRuleModel rule = context.getRuleCompilerContext().getRule();
final Map variables = context.getVariables();
final StringBuilder buffer = new StringBuilder(4096);
buffer.append("rule \"").append(rule.getUuid()).append("\"\n");
buffer.append("@ruleCode(\"").append(rule.getCode()).append("\")\n");
buffer.append(metadata);
buffer.append("dialect \"mvel\" \n");
buffer.append("salience ").append(rule.getPriority()).append('\n');
...
Этот переопределенный метод из класса DefaultDroolsRuleTargetCodeGenerator должен был быть изменен для включения в него droolRule uuid, а не правила uuid, которое является изменением, включенным в класс OOTB DefaultDroolsRuleTargetCodeGenerator в 6.7
protected String generateRuleContentRule(DroolsRuleGeneratorContext context, String actions, String metadata) {
AbstractRuleModel rule = context.getRuleCompilerContext().getRule();
DroolsRuleModel droolsRule = context.getDroolsRule();
StringBuilder buffer = new StringBuilder(4096);
buffer.append("rule \"").append(droolsRule.getUuid()).append("\"\n");
buffer.append("@ruleCode(\"").append(rule.getCode()).append("\")\n");
buffer.append("@moduleName(\"").append(context.getRuleCompilerContext().getModuleName()).append("\")\n");
buffer.append(metadata);
buffer.append("dialect \"mvel\" \n");
Это решило ошибку выше.
Надеюсь, это поможет.
Удачного кодирования.