2013-12-19 2 views
0

У меня есть программа JavaFx, которую я создал и скомпилировал в NetBeans, все мои проекты хранятся на сервере Windows 2012, на котором установлена ​​последняя версия Java 7.Запуск JavaFx Jar на Windows 2012 Server

Когда я дистанционно регистрируюсь на сервере и пытаюсь запустить банку непосредственно из своей папки dist, программа откроется, но не запустится. (Небольшое окно с двумя кнопками, которые должны запускать и останавливать программу, но нажимать на них ничего не делает.) Яркий ярлык на банке на Рабочем столе сервера имеет тот же эффект.

У программы, однако, нет проблем, запущенных на несерверных компьютерах с помощью ярлыка.

Я попытался создать .bat файл для запуска программы и запуск дает мне следующий список ошибок:

Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:792) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14 
2) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    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:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 

Caused by: java.lang.ClassNotFoundException: javafx.application.Application 
    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:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 13 more 

Однако, я включил все банки в моей .bat, что потребности программы , как показывают ниже:

"C:\Program Files (x86)\Java\jdk1.7.0_40\bin\java" -cp "E:\IT Server\Netbeans 
Projects\DataManipulator\build\classes;E:\IT Server\Netbeans Projects\ 
DataManipulator\dist\lib\opencsv-2.3.jar;E:\IT Server\Netbeans Projects\ 
DataManipulator\dist\lib\javax.mail-1.5.0_1;E:\IT Server\Netbeans  
Projects\DataManipulator\dist\lib\javadbf-0.4.0;E:\IT Server\Netbeans 
Projects\DataManipulator\dist\lib\commons-net-3.3;E:\IT Server\Netbeans 
Projects\DataManipulator\dist\lib\commons-io-2.4;C:\Program Files (x86)\Java 
jdk1.7.0_40\jre\lib\jfxrt" ads.DataManipulator 
pause 

Я действительно в недоумении, почему я не могу получить мою программу для выполнения на сервере, но может на регулярной машине. Предложения?

ответ

0

В BAT-классах, то jfxrt запись входит в папке, а не как JAR; это должно быть ...\jre\lib\jfxrt.jar. Другие, похоже, тоже имеют такую ​​же проблему, например. commons-io-2.4, javax.mail-1.5.0_1 и т.д.

Также вы можете проверить инструмент упаковщика (ref) или соответствующие задачи Ant (ref) для наиболее подходящей и безопасной упаковки вашего приложения.

+0

Именно это и исправление этих вещей помогло мне выявить основные проблемы (выяснилось, что для входа в систему был разрешенный вопрос, а также вопрос FileNotFound, оба из которых были исправлены.) –

Смежные вопросы