httpclient.execute错误:java.lang.reflect.InvocationTargetException

时间:2012-07-25 16:56:38

标签: apache-commons-httpclient sup

我正在开展一个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),但总是遇到同样的失败。

有人有任何提示吗?感谢。

1 个答案:

答案 0 :(得分:0)

here获得解决方案


您好,

通常,当java编译器在2个不同的包中找到2个具有相同名称的不同类时,会发生“java.lang.reflect.InvocationTargetException”。当你一次导入两个类时,当你试图创建该类的对象时,它会抛出“java.lang.reflect.InvocationTargetException”异常。

解决方案是,当您创建类的对象时,还要使用包名以及类名,以便编译器知道它必须使用哪个类。