重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

現在FORTEのツールを使ってJAVAの勉強をしているのですが、FORTEで作ったアプリをJARファイルにしてFORTE上での実行は問題なくできました。しかしFORTEを使わずにDOS上からコマンドでJARファイルを起動してもエラーが出ます。多分クラスパスの設定の問題ではないかと思うのですがどうもうまくいきません。誰か教えていただけないでしょうか?エラーは
C:\>java -jar SerialPort.jar
Exception in thread "main" java.lang.NoClassDefFoundError: javax/comm/SerialPort
EventListener
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12

A 回答 (3件)

スマートな解決方法があったと思うのですが思い出せません。



泥臭い解決方法だと
SerialPort.jarを作成するときの MANIFESTファイルに javax.comm.SerialPort クラスを含むJARファイルの場所を記述すればよいと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。MANIFESTに入れると立ち上がるようになりました。

お礼日時:2002/10/29 15:13

> パスを書いてみたのですがうまくいきません。

パスの書き方がまずいのでしょうか?
> C:\>SET CLASSPATH=%CLASSPATH%;C:\j2sdk1.4.1\jre\lib\ext\comm.jar

変ですねえ。comm.jar は sun のサイトからダウンロードしたやつですよねえ。
よくは分からないのですが、逆にしてもだめかなあ?

C:\>SET CLASSPATH=C:\j2sdk1.4.1\jre\lib\ext\comm.jar;%CLASSPATH%

# あてずっぽう (^^;

後、直接は関係ないかもしれませんが、サイトから取ってきた zip に含まれている
DLL は、きちんと配置していますか?

この回答への補足

お世話になります。
まず上記に書かれたクラスパスを試しましたが結果は同じでした。
もう一点のDLLですが、説明書にあったようにc:\j2sdk1.4.1\jre\binの中に入れてます。何かほかに注意点はありますか?

補足日時:2002/10/29 02:20
    • good
    • 0

javax.comm.SerialPort のクラスが入っている jar をクラスパスで指定してください。

この回答への補足

お世話になります
パスを書いてみたのですがうまくいきません。パスの書き方がまずいのでしょうか?
C:\>SET CLASSPATH=%CLASSPATH%;C:\j2sdk1.4.1\jre\lib\ext\comm.jar

C:\>java -jar SerialPort.jar
Exception in thread "main" java.lang.NoClassDefFoundError: javax/comm/SerialPort
EventListener

補足日時:2002/10/28 14:55
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!