1

SUP MBO プロジェクトに取り組んでいます。結果セット フィルタを使用して MBO をカスタマイズしようとしています。そのクラスでは、何かを取得し、フィードバックに基づいて MBO 行をカスタマイズする必要があります。SUP2.1.2 の MobileSDK を使用し、結果セットをプレビューしてみます。デバッグを有効にして、コンソールからの出力を確認できます。

変更された結果セット フィルターのコード部分は次のようになります。

@オーバーライド

public ResultSet filter(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 [エラー] [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 を含む) を試しましたが、常に同じエラーが発生しました。

誰にもヒントはありますか?ありがとう。

4

1 に答える 1

0

解決策はこちらから


やあ、

通常、「java.lang.reflect.InvocationTargetException」は、Java コンパイラが 2 つの異なるパッケージで同じ名前の 2 つの異なるクラスを検出した場合に発生します。一度に両方のクラスをインポートし、そのクラスのオブジェクトを作成しようとすると、「java.lang.reflect.InvocationTargetException」例外がスローされます。

解決策は、クラスのオブジェクトを作成するときに、クラス名とともにパッケージ名も使用して、コンパイラが使用する必要があるクラスを認識できるようにすることです。

于 2012-10-31T04:40:55.037 に答える