Как я могу получить строку classpath из моего проекта Eclipse, который использует Maven?

Как я могу получить строку classpath из моего проекта Eclipse, который использует Maven? В eclipse у меня есть более 100 файлов.jar, импортированных через Maven и ссылки в виде библиотеки под названием "Зависимости Maven". Как я могу получить "эффективный" путь к классам в виде строки в моем проекте?

Файл.classpath не раскрывает этого.

2 ответа

Вы можете попробовать использовать инструментарий разработки java (JDT) в Eclipse. Класс JavaCore в подключаемом модуле org.eclipse.jdt.core может получить ссылку на ваш проект Java (IProject) и вернуть IJavaProject, который добавляет поведение знания о пути к классам. Maven предоставляет контейнер пути к классам, который также должен взаимодействовать с IJavaProject для ответа на фактические исходные папки и файлы в пути к классам. Не могу предоставить больше информации о моей голове, но я думаю, что этот подход - ваша единственная надежда.

Если вы не напишите плагин Eclipse, который расширяет плагин Maven. Документация в лучшем случае схематична, но теоретически вы можете написать расширение, которое попросит настроить содержимое контейнера maven в пути к классам вашего проекта. Если в то время вы должны были кэшировать информацию о содержимом контейнера в папке состояния вашего плагина, вы сможете ссылаться на нее, когда пользователь захочет, чтобы вы вызвали ваш скрипт. Это расширение будет вызываться всякий раз, когда maven запрашивается обновить конфигурацию или зависимости проекта.

Я понимаю, что вы хотите выполнить этот скрипт самостоятельно, и у вас установлен Maven. Я предполагаю, что самый простой способ запустить ваше приложение в этом случае - использовать плагин Maven Exec:

http://mojo.codehaus.org/exec-maven-plugin/

(Я обычно использую цель exec: exec для запуска приложения в своем собственном процессе.)

Редактировать:

В противном случае взгляните на Maven Dependency Plugin, чтобы подготовить classpath, если вы не хотите использовать Maven Exec Plugin:

http://maven.apache.org/plugins/maven-dependency-plugin/

Другие вопросы по тегам