Java 小程序说类不存在,尽管验证了它确实存在。如何指定默认类路径?

Java 小程序说类不存在,尽管验证了它确实存在。如何指定默认类路径?,java,jar,applet,executable-jar,classnotfoundexception,Java,Jar,Applet,Executable Jar,Classnotfoundexception,小程序不再在大多数浏览器中工作,所以我尝试在本地运行web收发器.jar。。。例如,页面源中有小程序描述符: <applet id="WebTransceiver" height="400" width="440" codebase="https://www.allstarlink.org/portal/" archive="WebTransceiver.jar" code="We

小程序不再在大多数浏览器中工作,所以我尝试在本地运行web收发器.jar。。。例如,页面源中有小程序描述符:

<applet id="WebTransceiver" height="400" width="440" codebase="https://www.allstarlink.org/portal/" archive="WebTransceiver.jar" code="WebTransceiver.class" mayscript>
  <param name="debug" value="0"/>
  <param name="user" value="allstar-public"/>
  <param name="pass" value="allstar"/>
  <param name="host" value="something:4569"/>
  <param name="callingNo" value="something...."/>
  <param name="callingName" value="something"/>
  <param name="callSign" value="mycallsign...."/>
  <param name="permissions" value="all-permissions" />
</applet>
现在它给出了一个错误:

$ appletviewer ./apprun 
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
load: class WebTransceiver.class not found.
java.lang.ClassNotFoundException: WebTransceiver.class
    at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:220)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:153)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:637)
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:801)
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:730)
    at sun.applet.AppletPanel.run(AppletPanel.java:379)
    at java.lang.Thread.run(Thread.java:748)
尽管有这样的课程:

$ jar tf ./WebTransceiver.jar
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
META-INF/MANIFEST.MF
META-INF/JIM_DIXO.SF
META-INF/JIM_DIXO.RSA
META-INF/
WebTransceiver.class
com/
com/mexuar/
com/mexuar/corraleta/
com/mexuar/corraleta/audio/
com/mexuar/corraleta/audio/ABuffer.class
com/mexuar/corraleta/audio/AudioInterface.class
com/mexuar/corraleta/audio/dev/
com/mexuar/corraleta/audio/dev/RawDev.class
com/mexuar/corraleta/audio/javasound/
com/mexuar/corraleta/audio/javasound/AbstractAudio.class
com/mexuar/corraleta/audio/javasound/AEC$FIR_HP_300Hz.class
com/mexuar/corraleta/audio/javasound/AEC$IIR.class
com/mexuar/corraleta/audio/javasound/AEC$IIR1.class
com/mexuar/corraleta/audio/javasound/AEC$IIR2.class
com/mexuar/corraleta/audio/javasound/AEC$IIR6.class
com/mexuar/corraleta/audio/javasound/AEC.class
com/mexuar/corraleta/audio/javasound/Audio8k$1.class
com/mexuar/corraleta/audio/javasound/Audio8k$2.class
com/mexuar/corraleta/audio/javasound/Audio8k$3.class
com/mexuar/corraleta/audio/javasound/Audio8k.class
com/mexuar/corraleta/audio/javasound/Audio8kEcho.class
com/mexuar/corraleta/audio/javasound/AudioAlaw.class
com/mexuar/corraleta/audio/javasound/AudioProperties.class
com/mexuar/corraleta/audio/javasound/AudioUlaw.class
com/mexuar/corraleta/audio/javasound/Drift.class
com/mexuar/corraleta/audio/javasound/ShowAvailableAudio.class
com/mexuar/corraleta/audio/SampleListener.class
com/mexuar/corraleta/protocol/
com/mexuar/corraleta/protocol/AudioSender.class
com/mexuar/corraleta/protocol/Binder.class
com/mexuar/corraleta/protocol/Call$1.class
com/mexuar/corraleta/protocol/Call$2.class
com/mexuar/corraleta/protocol/Call.class
com/mexuar/corraleta/protocol/CallManager.class
com/mexuar/corraleta/protocol/ControlFrame.class
com/mexuar/corraleta/protocol/DtmfFrame.class
com/mexuar/corraleta/protocol/Frame.class
com/mexuar/corraleta/protocol/Friend.class
com/mexuar/corraleta/protocol/FullFrame$1.class
com/mexuar/corraleta/protocol/FullFrame.class
com/mexuar/corraleta/protocol/IAX2ProtocolException.class
com/mexuar/corraleta/protocol/InfoElement.class
com/mexuar/corraleta/protocol/Log.class
com/mexuar/corraleta/protocol/MiniFrame.class
com/mexuar/corraleta/protocol/netse/
com/mexuar/corraleta/protocol/netse/BinderSE.class
com/mexuar/corraleta/protocol/ProtocolControlFrame.class
com/mexuar/corraleta/protocol/ProtocolControlFrameNew.class
com/mexuar/corraleta/protocol/ProtocolEventListener.class
com/mexuar/corraleta/protocol/TextFrame.class
com/mexuar/corraleta/protocol/VoiceFrame.class
com/mexuar/corraleta/ui/
com/mexuar/corraleta/ui/BeanCanFrame.class
com/mexuar/corraleta/ui/BeanCanFrame_act_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_dialString_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton0_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton11_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton12_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton1_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton2_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton3_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton4_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton5_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton6_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton7_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton8_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton9_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_xmit_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrameManager$BeanCanFrame_txmsgField_keyAdapter.class
com/mexuar/corraleta/ui/BeanCanFrameManager$MyKeyListener.class
com/mexuar/corraleta/ui/BeanCanFrameManager$NodeCompare.class
com/mexuar/corraleta/ui/BeanCanFrameManager.class
com/mexuar/corraleta/ui/GuiEventSender$1.class
com/mexuar/corraleta/ui/GuiEventSender$2.class
com/mexuar/corraleta/ui/GuiEventSender$3.class
com/mexuar/corraleta/ui/GuiEventSender$4.class
com/mexuar/corraleta/ui/GuiEventSender$5.class
com/mexuar/corraleta/ui/GuiEventSender$6.class
com/mexuar/corraleta/ui/GuiEventSender$7.class
com/mexuar/corraleta/ui/GuiEventSender$8.class
com/mexuar/corraleta/ui/GuiEventSender.class
com/mexuar/corraleta/util/
com/mexuar/corraleta/util/ByteBuffer.class
org/
org/bouncycastle/
org/bouncycastle/crypto/
org/bouncycastle/crypto/Digest.class
org/bouncycastle/crypto/digests/
org/bouncycastle/crypto/digests/GeneralDigest.class
org/bouncycastle/crypto/digests/MD5Digest.class
更新-看起来必须删除代码基=。。。url,然后它将在本地运行。古怪的但它仍然不能正常工作。

请关闭.class。这是一个不必要的添加,大多数web浏览器/JRE都会自动忽略。
$ jar tf ./WebTransceiver.jar
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
META-INF/MANIFEST.MF
META-INF/JIM_DIXO.SF
META-INF/JIM_DIXO.RSA
META-INF/
WebTransceiver.class
com/
com/mexuar/
com/mexuar/corraleta/
com/mexuar/corraleta/audio/
com/mexuar/corraleta/audio/ABuffer.class
com/mexuar/corraleta/audio/AudioInterface.class
com/mexuar/corraleta/audio/dev/
com/mexuar/corraleta/audio/dev/RawDev.class
com/mexuar/corraleta/audio/javasound/
com/mexuar/corraleta/audio/javasound/AbstractAudio.class
com/mexuar/corraleta/audio/javasound/AEC$FIR_HP_300Hz.class
com/mexuar/corraleta/audio/javasound/AEC$IIR.class
com/mexuar/corraleta/audio/javasound/AEC$IIR1.class
com/mexuar/corraleta/audio/javasound/AEC$IIR2.class
com/mexuar/corraleta/audio/javasound/AEC$IIR6.class
com/mexuar/corraleta/audio/javasound/AEC.class
com/mexuar/corraleta/audio/javasound/Audio8k$1.class
com/mexuar/corraleta/audio/javasound/Audio8k$2.class
com/mexuar/corraleta/audio/javasound/Audio8k$3.class
com/mexuar/corraleta/audio/javasound/Audio8k.class
com/mexuar/corraleta/audio/javasound/Audio8kEcho.class
com/mexuar/corraleta/audio/javasound/AudioAlaw.class
com/mexuar/corraleta/audio/javasound/AudioProperties.class
com/mexuar/corraleta/audio/javasound/AudioUlaw.class
com/mexuar/corraleta/audio/javasound/Drift.class
com/mexuar/corraleta/audio/javasound/ShowAvailableAudio.class
com/mexuar/corraleta/audio/SampleListener.class
com/mexuar/corraleta/protocol/
com/mexuar/corraleta/protocol/AudioSender.class
com/mexuar/corraleta/protocol/Binder.class
com/mexuar/corraleta/protocol/Call$1.class
com/mexuar/corraleta/protocol/Call$2.class
com/mexuar/corraleta/protocol/Call.class
com/mexuar/corraleta/protocol/CallManager.class
com/mexuar/corraleta/protocol/ControlFrame.class
com/mexuar/corraleta/protocol/DtmfFrame.class
com/mexuar/corraleta/protocol/Frame.class
com/mexuar/corraleta/protocol/Friend.class
com/mexuar/corraleta/protocol/FullFrame$1.class
com/mexuar/corraleta/protocol/FullFrame.class
com/mexuar/corraleta/protocol/IAX2ProtocolException.class
com/mexuar/corraleta/protocol/InfoElement.class
com/mexuar/corraleta/protocol/Log.class
com/mexuar/corraleta/protocol/MiniFrame.class
com/mexuar/corraleta/protocol/netse/
com/mexuar/corraleta/protocol/netse/BinderSE.class
com/mexuar/corraleta/protocol/ProtocolControlFrame.class
com/mexuar/corraleta/protocol/ProtocolControlFrameNew.class
com/mexuar/corraleta/protocol/ProtocolEventListener.class
com/mexuar/corraleta/protocol/TextFrame.class
com/mexuar/corraleta/protocol/VoiceFrame.class
com/mexuar/corraleta/ui/
com/mexuar/corraleta/ui/BeanCanFrame.class
com/mexuar/corraleta/ui/BeanCanFrame_act_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_dialString_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton0_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton11_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton12_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton1_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton2_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton3_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton4_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton5_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton6_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton7_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton8_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_jButton9_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrame_xmit_actionAdapter.class
com/mexuar/corraleta/ui/BeanCanFrameManager$BeanCanFrame_txmsgField_keyAdapter.class
com/mexuar/corraleta/ui/BeanCanFrameManager$MyKeyListener.class
com/mexuar/corraleta/ui/BeanCanFrameManager$NodeCompare.class
com/mexuar/corraleta/ui/BeanCanFrameManager.class
com/mexuar/corraleta/ui/GuiEventSender$1.class
com/mexuar/corraleta/ui/GuiEventSender$2.class
com/mexuar/corraleta/ui/GuiEventSender$3.class
com/mexuar/corraleta/ui/GuiEventSender$4.class
com/mexuar/corraleta/ui/GuiEventSender$5.class
com/mexuar/corraleta/ui/GuiEventSender$6.class
com/mexuar/corraleta/ui/GuiEventSender$7.class
com/mexuar/corraleta/ui/GuiEventSender$8.class
com/mexuar/corraleta/ui/GuiEventSender.class
com/mexuar/corraleta/util/
com/mexuar/corraleta/util/ByteBuffer.class
org/
org/bouncycastle/
org/bouncycastle/crypto/
org/bouncycastle/crypto/Digest.class
org/bouncycastle/crypto/digests/
org/bouncycastle/crypto/digests/GeneralDigest.class
org/bouncycastle/crypto/digests/MD5Digest.class