Где разместить внешние архивы для настройки работы в Eclipse? - PullRequest
0 голосов
/ 17 апреля 2010

Будучи нубом Java / Eclipse, происходящим из фона Visual Studio .NET, я пытаюсь понять, как настроить свою среду выполнения / отладки в Eclipse IDE, чтобы я мог начать переходить по коду.

Я построил свое приложение с отдельными иерархиями src и bin для каждого библиотечного проекта, и у каждого проекта есть свой jar. Например, в среде Windows у меня есть что-то вроде:

c: \ myapp \ myapp_main \ src \ com \ mycorp \ myapp \ main

... и параллельное дерево "мусорного ведра" вот так:

c: \ myapp \ myapp_main \ bin \ com \ mycorp \ myapp \ main

Другие проекты поддержки, аналогично:

c: \ myapp \ myapp_util \ src \ com \ mycorp \ myapp \ util

(и параллельное «мусорное» дерево) и т. Д.

Итак, я получаю, например, myapp_util.jar в пути ... \ myapp_util \ bin ..., а затем добавляю это как внешний архив в мой проект myapp_main.

Я также использую утилиты, такие как gluegen-rt.jar, которые я добавляю для внешних зависимостей в проекты, которые в них нуждаются.

Мне удалось запустить за пределами среды Eclipse, скопировав все мои jar-файлы проекта, DLL-библиотеку gluegen-rt и т. Д. В подпапку "lib" некоторого каталога и выполнив что-то вроде:

java -Djava.library.path = lib -DfullScreen = false -cp lib / gluegen-rt.jar; lib / myapp_main.jar; lib / myapp_util.jar; com.mycorp.myapp.Main

Однако в IDE, когда я впервые нажал F11 для отладки, я получил сообщение о том, что что-то вроде / com / sun /../ glugen ... не найдено загрузчиком классов.

Итак, чтобы отладить или даже просто запустить в Ecplipse, я попытался настроить аргументы своей виртуальной машины в конфигурациях отладки Galileo -> (Run / Debug) в командной строке выше, начиная с "-Djava.libary". дорожка...". Я поместил подкаталог lib - точно так же, как и выше, со всеми jar-файлами и нативной DLL-библиотекой gluegen - в разных местах, например, под папкой, в которую встроен мой основной jar-файл, и в качестве подпапки моей папки рабочего пространства Ecplipse, но теперь отладчик не может найти основной класс:

java.lang.NoClassDefFoundError: com.mycorp.myapp.Main

Хотя Classpath говорит, что он использует «путь к классам по умолчанию», что бы это ни было. Итог, как мне собрать составные файлы многопроектного приложения, чтобы я мог запускать или отлаживать в Eclipse?

Ответы [ 2 ]

1 голос
/ 17 апреля 2010

Рекомендованный способ работы - настроить путь сборки. Это хорошая статья , описывающая процесс.

1 голос
/ 17 апреля 2010

Если вы хотите, чтобы проект A имел проект B (и его библиотеки) на своем пути к классам, затем перейдите к свойствам проекта A, выберите Java Build Path, затем перейдите на вкладку Projects. Здесь вы добавляете проект B.

Хотя вы можете создавать банки для каждого проекта, затмение не обращает большого внимания на банки. Если у вас будет много java-проектов с множеством сторонних зависимостей, вы можете посмотреть что-то вроде m2eclipse.

...