我正在开展一个SUP MBO项目。我正在尝试使用结果集过滤器来自定义我的MBO。在那个课程中,我需要http获取内容并根据反馈自定义MBO行。我使用SUP2.1.2的MobileSDK并尝试预览结果集。我启用了调试,可以看到控制台的输出。
更改后的结果集过滤器代码段如下:
@覆盖
public ResultSet过滤器(ResultSet in,Map arg1)
throws Exception {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("www.google.com");
HttpResponse response1 = httpclient.execute(httpGet);
httpGet.releaseConnection();
return in;
}
每次调用httpclient.execute(httpGet)时,都会抛出异常,如下所示:
00:06:42 [ERROR] [ExecuteSection]:执行错误
java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
at com.sybase.uep.tooling.ui.dialogs.preview.ExecuteSection.execute(ExecuteSection.java:227)
...
引起:java.lang.VerifyError:无法从最终类继承
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
...
at com.sybase.uep.tooling.ui.dialogs.preview.ExecuteSection$4.run(ExecuteSection.java:207)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
我尝试了不同的httpclient jar版本(包括3.0.1,4.2),但总是遇到同样的失败。
有人有任何提示吗?感谢。
答案 0 :(得分:0)
从here获得解决方案
您好,
通常,当java编译器在2个不同的包中找到2个具有相同名称的不同类时,会发生“java.lang.reflect.InvocationTargetException”。当你一次导入两个类时,当你试图创建该类的对象时,它会抛出“java.lang.reflect.InvocationTargetException”异常。
解决方案是,当您创建类的对象时,还要使用包名以及类名,以便编译器知道它必须使用哪个类。