错误 java.lang.ClassNotFoundException
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;
}
当我调用 ActionRule 方法时,Eclipse 给我错误消息:
Error
我将 org.openl.rules-5.16.2.jar 添加到 Libraies 中,但它仍然不起作用。我不知道为什么?有什么办法可以解决这个问题?
非常感谢。
不是 eclipse 缺少库,而是 tomcat。确保您的部署已 org.openl.rules-5.16.2.jar
放入您的网络应用程序的 WEB-INF/lib
中。
之后,重新启动 tomcat 或重新部署您的应用程序
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 中,但它仍然不起作用。我不知道为什么?有什么办法可以解决这个问题? 非常感谢。
不是 eclipse 缺少库,而是 tomcat。确保您的部署已 org.openl.rules-5.16.2.jar
放入您的网络应用程序的 WEB-INF/lib
中。
之后,重新启动 tomcat 或重新部署您的应用程序