- - PR -
jarファイルの実行時にシリアル通信用のjar、オラクル用のzipの使い方
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-09-29 14:46
Eclipseでオラクルからデータを取得し、シリアル通信で送信するjavaアプリを作り、
自作のソースをtest.jarとしました。 そして、test.jarと同じディレクトリにシリアル通信用のcomm.jar、オラクル用の classes12.zip、nls_charset12.zipを置いて実行しましたが、呼び出しでエラーに なりました。たとえば、シリアル通信部分では、以下のようになりました。 C:\tmp\java_jar>java -jar SendMst.jar SendMst.ini Exception in thread "main" java.lang.NoClassDefFoundError: javax/comm/SerialPort EventListener at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at SendProc.SendMain(SendProc.java:82) at SendMst.main(SendMst.java:68) どのように設定すれば、うまく呼び出せるのでしょうか? 教えてください。 なお、マニフェストファイルの記述は次の通りです。 Manifest-Version: 1.0 Main-Class: SendMst | ||||
|
投稿日時: 2004-09-29 17:07
-jar オプションでアプリケーションを起動した場合は、指定した jar ファイルしかクラスパスに追加されます。同じディレクトリにおいてある jar ファイルを読み込んでくれるような機構はありません。
以下のようにすれば良いと思います。 >java -cp SendMst.jar;comm.jar;classes12.zip;nls_charset12.zip SendMst SendMst.ini | ||||
|
投稿日時: 2004-09-29 19:38
インギ 様
ビギナーです。 的確なご指示有難うございます。 成功しました。 これからもよろしくお願いいたします。 | ||||
|
投稿日時: 2004-09-29 22:59
マニフェストファイルの Class-Pathヘッダで依存する .jarファイルを 指定すればできます。 空白で区切れば複数の .jarファイル、ディレクトリの指定もできますよ。 | ||||
|
投稿日時: 2004-09-30 01:20
>マニフェストファイルの Class-Pathヘッダで依存する .jarファイルを
>指定すればできます。 おぉ、そうですね! http://java.sun.com/j2se/1.3/ja/docs/ja/guide/jar/jar.html#Main%20Attributes | ||||
|
投稿日時: 2004-09-30 19:15
Kissinger インギ 様
>マニフェストファイルの Class-Pathヘッダで依存する .jarファイルを >指定すればできます。 ビギナーです。 さらに便利な方法を教えてくださり、有難うございます。 動作を確認してみました。 Javaの奥深さを感じます。 これからもよろしくお願いいたします。 |
1