1

私の英語について申し訳ありません。

問題があり、解決策が見つかりません。私は春のWebアプリケーションを持っていて、アプレットをjspページに統合しようとしています。

これが私がアプレットを呼び出すコードです。

    <object type="application/x-java-applet;version=1.6" width="200" height="200" title="Java"><param name="code" value="cl.facele.sign.applet.WebSignApplet.class">
    <param name="archive" value="/frontend-1.4/lib/fea-signer-0.94.jar, /frontend-1.4/lib/httpcore-4.0.1.jar, /frontend-1.4/lib/httpmime-4.0.jar, /frontend-1.4/lib/apache-mime4j-0.6.jar, /frontend-1.4/lib/commons-codec-1.3.jar, /frontend-1.4/lib/httpclient-4.0.jar, /frontend-1.4/lib/commons-logging-1.1.1.jar"><param name="XML_IDS" value="{xmlIds}">
    <param name="DOCS_IDS" value="{docsIds}"><param name="WS_URL_SERVER" value="http://localhost:8080/efactoryapp">
    <param name="WS_GET_DOC_METHOD" value="/services.htm?faction=getDocument&amp;id=">
    <param name="WS_POST_DOC_METHOD" value="/services.htm?        faction=addDocumentDeclarado">
    <param name="urlRefreshTarget" value="">Para utilizar la componente de firma electrónica debe instalar plugin <a href="http://java.sun.com/update/1.6.0/jinstall-6u22-windows-i586.cab">Java v.1.6</a>
    </object>

jspページがロードされると、JVMコンソールにこのエラーが表示されます。

    java.lang.ClassFormatError: Incompatible magic value 218762506 in class file cl/facele/sign/applet/WebSignApplet
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
    Excepción: java.lang.ClassFormatError: Incompatible magic value 218762506 in class file cl/facele/sign/applet/WebSignApplet
    java.lang.ClassFormatError: Incompatible magic value 218762506 in class file         cl/facele/sign/applet/WebSignApplet
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
    Excepción: java.lang.ClassFormatError: Incompatible magic value 218762506 in class file cl/facele/sign/applet/WebSignApplet

助けてくれてありがとう!

アップデート:

これが役に立ったら、アプリケーションとアプレットをEclipseとTomcatで実装します。

4

3 に答える 3

1

最も可能性の高い原因は、Web アプリケーションが実際に jar ファイルを提供していないことです。Web ブラウザ、curl、または wget でこれらの URL にアクセスしてみて、何が表示されるかを確認してください。結果は、jar ファイルではなく、html 形式のエラー メッセージであると推測しています。

ここに完全な説明があります

もう 1 つの可能性は低いですが、実行しようとしている Java vm よりもはるかに新しいバージョンの Java vm でアプレットがコンパイルされた可能性があります。

于 2012-10-28T20:22:09.373 に答える
0

Java によって報告されたマジック値 (218762506) をバイナリに変換すると、どのような種類のファイルが返されているかを判断するのに役立ちます。この場合:

0000 1101 = 13 - Carriage Return
0000 1010 = 10 - New Line
0000 1101 = 13 - Carriage Return
0000 1010 = 10 - New Line

おそらくテキスト ファイルの始まりであり、HTML でさえもあり、最初に数行の空行があります。

タグで指定されたファイルをブラウザで直接指定して jar を正常にダウンロードできる場合は、JVM をつまずかせている舞台裏でリダイレクトが発生している可能性があります。可能であれば、少なくともテストするために、絶対 URL を使用してみてください。

于 2015-10-21T11:24:08.180 に答える