私は、スキャンのためにjarファイル内のTWAINライブラリを使用するプロジェクトを持っています。 Eclipse IDEでプロジェクトを実行している間、このライブラリを使用することに成功しました。 thisの画像でわかるように、私は期待どおりにインストールされたデバイスのリストを検出します。TWAINはプロジェクトを.jarファイルにエクスポートした後、インストールされたデバイスを検出しなくなりました。
しかし、プロジェクトをRunnable JARファイルにエクスポートし、 'JARに必要なライブラリをパッケージ化する'を選択すると突然スキャンが停止し、同じデバイスリストを確認するとthisのように空白になります。
初めて私がプロジェクトをエクスポートしようとしたとき、JARの内部から画像をロードできるように自分のリソースフォルダを構成する必要があることを考えれば、これは同様の問題だと思います。しかし、どちらの場合も、TWAINライブラリがロードされたことを示す次のメッセージが返されるため、正確な理由はわかりません。
JarLib.load: Successfully loaded library[jar:rsrc:uk.co.mmscomputing.device.twain.jar!/uk/co/mmscomputing/device/twain/win64/jtwain.dll] from jar file location
しかし、私は、スキャンしようとすると、これは私が得るものです:
uk.co.mmscomputing.device.twain.TwainIOException: uk.co.mmscomputing.device.twain.TwainSource.select(String name)
Cannot find twain data source: 'Lenovo EasyCamera'
at uk.co.mmscomputing.device.twain.TwainSource.select(TwainSource.java:239)
at uk.co.mmscomputing.device.twain.TwainSourceManager.selectSource(TwainSourceManager.java:82)
at uk.co.mmscomputing.device.twain.jtwain.cbexecute(jtwain.java:231)
at uk.co.mmscomputing.device.twain.jtwain.nstart(Native Method)
at uk.co.mmscomputing.device.twain.jtwain.access$200(jtwain.java:12)
at uk.co.mmscomputing.device.twain.jtwain$1.run(jtwain.java:338)uk.co.mmscomputing.device.twain.TwainFailureException: Failed during call to twain source.
cc=No Data Source
rc=1
at uk.co.mmscomputing.device.twain.TwainSourceManager.call(TwainSourceManager.java:27)
at uk.co.mmscomputing.device.twain.TwainIdentity.open(TwainIdentity.java:70)
at uk.co.mmscomputing.device.twain.TwainSource.open(TwainSource.java:99)
at uk.co.mmscomputing.device.twain.TwainSourceManager.openSource(TwainSourceManager.java:93)
at uk.co.mmscomputing.device.twain.jtwain.cbexecute(jtwain.java:234)
at uk.co.mmscomputing.device.twain.jtwain.nstart(Native Method)
at uk.co.mmscomputing.device.twain.jtwain.access$200(jtwain.java:12)
at uk.co.mmscomputing.device.twain.jtwain$1.run(jtwain.java:338)
iはJARの中に私のプロジェクトを構築していたときに、それはまだいくつかのdllファイルまたはファイルを欠けているということ可能であることパッケージ化する必要がありますか?