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

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

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


person djangofan    schedule 11.10.2012    source источник
comment
Это просто любопытство или чего вы пытаетесь достичь, имея этот путь к классам?   -  person Puce    schedule 12.10.2012
comment
Я не хочу использовать строку пути к классам для запуска проекта из скрипта.   -  person djangofan    schedule 12.10.2012
comment
Это очень хороший вопрос, единственный способ, который я могу придумать, - это разработать или изменить плагин eclipse.   -  person PbxMan    schedule 12.10.2012
comment
@djangofan Что за скрипт? Для конечных пользователей или разработчиков (которые используют Maven)?   -  person Puce    schedule 12.10.2012
comment
@Puce - я хочу выполнить из необработанной командной строки, не выполняя утомительную работу по ручной сборке моего пути к классам. Мой вопрос не о Maven: я это рассмотрел.   -  person djangofan    schedule 12.10.2012


Ответы (2)


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

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

person Chris Gerken    schedule 12.10.2012
comment
Хорошо, я видел ответы, похожие на этот, на этом форуме. Я займусь расследованием. - person djangofan; 12.10.2012

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

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

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

Изменить:

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

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

person Puce    schedule 12.10.2012