Я создаю настольное приложение JavaFX 2.0, которое необходимо взаимодействовать с кард-ридером через последовательный порт. Поэтому я использую библиотеку RxTx версии 2.1-7r2 32bit.Невозможно найти собственные DLL-файлы RXTX в приложении JavaFX
Чтобы выполнить начальное тестирование/обучение, я построил функциональность RxTx в приложении консоли java и получил эту работу отлично, следуя инструкциям для копирования через собственные DLL и файл jar в мою 32-битную JDK-версию jdk1. 7.0_04.
Затем я создал приложение JavaFX с примитивным интерфейсом и начал переносить код RxTx на этот новый проект. Это приложение JavaFX указывает на тот же 32-битный JDK, который я использовал для своего консольного приложения.
Приложение JavaFX отлично находит файл jar, так как я могу импортировать gnu.io. *, а затем написать код, который правильно распознан NetBeans, а также JavaDocs, автозаполнение и т. Д. К сожалению, при выполнении он возвращает следующие ошибки, которые выглядят подозрительно, как родной библиотеки DLL не расположены:
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.javafx.main.Main.launchApp(Main.java:486)
at com.javafx.main.Main.main(Main.java:638)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
at com.sun.javafx.application.LauncherImpl.access$000(Unknown Source)
at com.sun.javafx.application.LauncherImpl$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NoClassDefFoundError: gnu/io/CommPortIdentifier
at testfxscreens.TestFXScreens.setupSerialPort(TestFXScreens.java:186)
at testfxscreens.TestFXScreens.start(TestFXScreens.java:61)
at com.sun.javafx.application.LauncherImpl$5.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl$4.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl$3.run(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
at com.sun.glass.ui.win.WinApplication$2$1.run(Unknown Source)
... 1 more
Caused by: java.lang.ClassNotFoundException: gnu.io.CommPortIdentifier
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 9 more
Я посмотрел на домашнюю страницу RxTx и нашел пример решения указанной выше ошибки, но он просто упоминает, что вы, вероятно, не имеют библиотеки DLL и JAR файлы в вашем JDK правильно.
Это действительно странно, поскольку я могу получить консольное приложение, используя одни и те же каталоги JDK, отлично работая. Я надеюсь, что я делаю что-то действительно явно неправильно, но я не искал настройки проекта, чтобы заставить меня думать, что я что-то испортил.
Существуют ли какие-либо конкретные настройки проекта JavaFX 2.0 для работы RxTx?
Любые указатели на то, где искать охоту на это, очень ценится !!!