この jar ファイル ( http://sourceforge.net/projects/uirt-j/ ) を個人的なプロジェクトで使用したいと考えています。現在、私はEclipseを使用しており、プロジェクト> Javaビルドパス>外部JARを追加してそのjarをインポートしようとしました。
インポート後、そのパッケージのすべてのクラスが Eclipse にリストされているのを確認できますが、この jar には、デバイスとの通信に必要な 2 つの win32 dll ファイルも含まれています。それらをSystem32ディレクトリに追加しようとしましたが、うまくいきません。そのコードを実行すると、次の例外がスローされます。
Exception in thread "main" java.lang.UnsatisfiedLinkError:
C:\Windows\System32\util_USBUIRT.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at util.USBUIRT.<clinit>(USBUIRT.java:269)
at Uirt.main(Uirt.java:6)
dependency walkerを使用すると、すべての dll が正しくリンクされ、インポートできることがわかります。
これは、実行しようとしているコード スニペットです。
import util.USBUIRT;
public class Uirt {
public static void main(String[] args) {
String code = "0000";
try {
USBUIRT.transmitIR(code, 2, 3, 2);
} catch (Exception e) {
e.printStackTrace();
}
}
}
その JAR ファイルをスタンドアロンで実行すると、問題なく動作します。現在のセットアップは、Windows 7 64 ビットで実行されます。