import org.openl.rules.runtime.RulesEngineFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
// Action rule
public static String ActionRule(ClassRule classRule, String gender,
        String marialStatus) throws IOException {
    // TODO Auto-generated method stub
    // define the interface
    RulesEngineFactory<?> rulesFactory = new RulesEngineFactory<Object>("D:/GreetingCustomer.xlsx");
    Object rules = rulesFactory.newInstance();
    Class<?> clazz = rulesFactory.getInterfaceClass();

    // define params
    String Gender = gender;
    String MarialStatus = marialStatus;

    // define info of rule method

    int iNumOfParams = classRule.getListItem().size();
    // define param types
    Class[] paramClases = new Class[iNumOfParams];
    paramClases[0] = String.class;
    paramClases[1] = String.class;

    // set param value
    Object[] params = new Object[iNumOfParams];
    params[0] = Gender;
    params[1] = MarialStatus;

    String result = "";
    try {
        Method method = clazz.getMethod(classRule.getRuleName(),
                paramClases);
        System.out.println("* Executing OpenL rules...\n");
        // invoke method
        Object interestAmount = method.invoke(rules, params);
        if (interestAmount != null) {
            System.out.println("Siri Say: " + interestAmount);
            result = interestAmount.toString();
        } else {
            System.out.println("Wrong input value");
            result = "Wrong input value";
        }
    } catch (NoSuchMethodException e) {
    } catch (InvocationTargetException e) {
    } catch (IllegalAccessException e) {
    }
    return result;
}


当我调用Eclipse的ActionRule方法时,给我错误消息:
Error

我将org.openl.rules-5.16.2.jar添加到了Libraies中,但仍然无法正常工作。我不知道为什么?有谁能解决这个问题的解决方案?
非常感谢。

最佳答案

缺少库的不是日食,而是tomcat。确保您的部署已将org.openl.rules-5.16.2.jar放入Webapp的WEB-INF/lib中。

之后,重新启动tomcat或重新部署您的应用程序

08-06 20:47