Я построил свое приложение в Netbeans 6.8.Приложение содержит различные ссылки на сторонние продукты (например, драйвер базы данных Microsoft для SQL Server и JIDE).
При компиляции он создает папку dist, которая, как я думал, вы можете просто скопировать в папку, и она будет работать.
Когда я запускаю свое приложение, как только оно встречает ссылку в форме на классы JIDE, приложение сообщает об ошибке и завершает работу.
По сути, трассировка стека:
java.lang.reflect.InvocationTargetException<br>
Caused by: java.lang.ClassNotFoundException: com.jidesoft.gantt.PeriodBackgroundPainter
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)
У меня есть файлы JAR, скопированные в папку lib в папке, где находится мой файл jar.
\MyApp \ MyJar.jar
\ MyApp \ lib \ all jars приложения
Однако, когда я копирую содержимое папки lib в C: \ Program Files \ Java \ jre6 \ lib \ ext, все работаетхорошо.
Я что-то упустил?Я работаю на Vista SP2.
Я создал новый простой проект с той же ссылкой на компоненты JIDE и скомпилировал его.Когда я запускаю файл jar, приложение запускается и отображает компоненты.Единственное видимое различие между проектами, которое я вижу, - это соглашения об именах используемых пакетов.Наше основное приложение не соответствует стандартному именованию com.company.application и содержит различные имена пакетов, содержащиеся в нем.Мое приложение использует соглашение com.company.application.
Cheers,
Andez