У меня есть проект в NetBeans6.9.1. Он отлично работает изнутри IDE. Но когда я пытаюсь запустить банку, этот NetBeans автоматически создается под каталогом dist, я получаю NoClassDefFoundError для классов внутри моего проекта. Что я делаю не так? Должен ли я использовать Ant или что-то (не знаю Ant) В eclipse я делаю «создать runnable jar», и jar работает без проблем. Есть ли что-то эквивалентное в NetBeans?java runnable jar from netbeans 6.9.1
UPDATE: В dist/myJar я извлекал банку, а в манифесте отсутствовал текущий путь и корневой путь моего проекта. Я добавил их вручную и повторно создал банку из командной строки. И это работает. Но почему NetBeans не добавляет их в classpath манифеста jar. Я не понимаю
UPDATE 2 Я нашел проблему. Я думаю, что это серьезная ошибка NetBeans. Я сделал рефакторинг и изменил имена пакетов от myPackage.model до mypackage.model. Но NetBeans не делал это правильно. Он действительно изменил имя пакета на mypackage, как показано в навигаторе дерева, но имя пакета внутри файла осталось как myPackage. Программа выполнена нормально внутри IDE, и никаких ошибок не сообщалось (хотя все классы объявлялись как принадлежащие к моей статье P, а в дереве они находились под моим p ackage), но когда я попытался запустить банку внутри каталога dist я получил исключение класса, не найденное. Сегодня я заметил, что класс был указан как мой P ackage/model вместо моего p ackage/model. Я заглянул в классы, и рефакторинг полностью закрепил все. Я вручную изменил имя пакета изнутри своих классов из myPackage в mypackage и исправил все импортные (которые импортировали myPackage). Это известная проблема NetBeans ????
Благодаря
Итак, с NetBeans я ДОЛЖЕН иметь знания о работе Ant или Maven ??? Потому что я не знаю ни того ни другого. И почему classpath в манифесте NetBean опускает текущий каталог и корневой файл проекта? – Cratylus
@ user384706 На самом деле я думаю, что поддержка Netbeans Maven очень хороша, но на самом деле некоторые знания об этом действительно помогают. Я думаю, что перенос текущего каталога в манифест .jar очень хрупок, поэтому лучше просто не делать этого. И если с «корневым файлом проекта» вы имеете в виду класс «основной» класс, может быть больше одного, и вместо того, чтобы угадывать, что неправильный NB вообще не догадывается. Все плюсы и минусы этого спорны, но вот что это такое. :-) – Waldheinz