【发布时间】:2016-03-14 09:54:48
【问题描述】:
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;
}
当我调用 ActionRule 方法时,Eclipse 会给我错误消息: Error
我将 org.openl.rules-5.16.2.jar 添加到 Libraies 中,但它仍然不起作用。我不知道为什么?有什么人有解决这个问题的方法? 非常感谢。
【问题讨论】:
-
在您的问题中以代码格式文本的形式发布异常堆栈跟踪。请尊重 Java 命名约定,不要忽略异常。
-
您的服务器没有 org.openl.rules.runtime.RulesEngineFactory 类(在 jar 中)?
标签: java servlets classnotfoundexception