- PR -

jarファイルの実行時にシリアル通信用のjar、オラクル用のzipの使い方

1
投稿者投稿内容
ビギナー
会議室デビュー日: 2004/09/29
投稿数: 10
投稿日時: 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

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 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
投稿数: 10
投稿日時: 2004-09-29 19:38
インギ 様

ビギナーです。 的確なご指示有難うございます。
成功しました。
これからもよろしくお願いいたします。
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2004-09-29 22:59
引用:

同じディレクトリにおいてある jar ファイルを読み込んでくれるような機構はありません。



マニフェストファイルの Class-Pathヘッダで依存する .jarファイルを
指定すればできます。

空白で区切れば複数の .jarファイル、ディレクトリの指定もできますよ。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 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/29
投稿数: 10
投稿日時: 2004-09-30 19:15
Kissinger インギ 様

>マニフェストファイルの Class-Pathヘッダで依存する .jarファイルを
>指定すればできます。

ビギナーです。
さらに便利な方法を教えてくださり、有難うございます。
動作を確認してみました。
Javaの奥深さを感じます。

これからもよろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)