简体   繁体   中英

Error java.lang.ClassNotFoundException

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;
}

When i call the ActionRule method Eclipse give me error messages: Error

I added org.openl.rules-5.16.2.jar into Libraies but it still dont work. I dont know why? What anyone have solution to solve this problem ? Thanks so much.

It's not eclipse that's missing the library, it's tomcat. Make sure your deployment has org.openl.rules-5.16.2.jar placed into WEB-INF/lib of your webapp.

Afterwards, restart tomcat or redeploy your app

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM