1

com メソッドをロードできるアプレットを作成する必要があります。この目的のために、com dll で Java com bridge (jacob) を使用しました。私の環境は次のように設定されています。

  • OS:win7x64
  • IDE:Eclipse32bit版
  • COM DLL:BPIKeyCOM.dll 32ビット版
  • コムブリッジ: jacob1.17-32bit版
  • サーバー: Tomcatv7.0

C:\Windows\System32 の下に jacob.dll を置き、WEB-INF\lib の下に jacob.jar を置きます。

プロジェクトを実行すると、Eclipse で正常に動作します。ただし、Web 上に展開すると、次のエラー メッセージが表示されます。

java.lang.NoClassDefFoundError: com/jacob/activeX/ActiveXComponent
at Fmain.Ikeycheck(Fmain.java:180)
at Fmain.init(Fmain.java:73)
at sun.applet.AppletPanel.run(AppletPanel.java:435)
at java.lang.Thread.run(Thread.java:724)

Caused by:
java.lang.ClassNotFoundException: com.jacob.activeX.ActiveXComponent
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:219)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:152)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)...

このメッセージは が見つからないということcom/jacob/activeX/ActiveXComponent.classを言っているようですが、その方法がわかりません。

私はすでに多くの解決策を検索して解決しようとしましたが、それでもこのエラーメッセージが表示され続けます.sigh jarを実行したり、クラスパスが正しいことを確認したり、ポリシーファイルを変更しようとしたりしています...など. しかし、それでもうまくいきません!

4

2 に答える 2

1

dll と jacob.jar を Java Web コンテナーにインストールしました。残念ながら、それはユーザーの Web ブラウザ (アプレット コンテナなど) ではありません。dll および jacob.jar ファイルをアプレット jar に追加する必要があります。おそらくこれも読むべきです。また、ユーザーが 64 ビットの jdk をインストールした場合、または Windows を実行していない場合、アプレットは機能しないことを指摘することも重要です。

于 2013-12-05T04:16:47.893 に答える
0

jacobで提供されている例を見てください:

例: jacob-1.17_src.zip\jacob-1.17\samples\com\jacob\samples\applet

これはそれがどのように機能するかの良い例です - 内部に完全な説明を含む readme.txt さえあります...

于 2013-12-06T07:20:23.870 に答える