Я работаю над проектом, который содержит ряд подпроектов. Структура - это что-то вроде Project 1, Project 2 и ProjectClassLoader. Используя отдельные файлы конфигурации, я передаю двоичные имена классов из проектов 1 и 2, которые необходимо загружать каждый раз в качестве аргументов в проект ProjectClassLoader.Classloader с встроенным банком Maven
ProjectClassLoader получает дескриптор системного загрузчика классов
ClassLoader loader = ClassLoader.getSystemClassLoader();
, которая теоретически позволяет ему загружать любые классы, которые содержатся в пути к классам.
Я использую Maven для создания проектов и обработки связанных зависимостей. Таким образом, каждый проект имеет свой собственный файл pom.xml. ProjectClassLoader определяет родительский pom.xml над проектами 1 и 2, которые наследуются от этого. Родительский pom содержит записи зависимостей для проектов 1 и 2.
Я понимаю, что любые зависимости, указанные в файлах pom.xml этих проектов, будут добавлены в путь к классам во время выполнения. Однако при попытке загрузить классы с помощью системного загрузчика классов я получаю класс не найденным execptions.
Я попытался использовать плагин mvn: exec, который, как я понимаю, включает в себя зависимости в пути к классам при выполнении баннеров в командной строке, но это не сработало.
Я grately признательна за любую помощь в продвижении моего понимания того, почему я могу загружать классы, даже если зависимости определены в П ... Заранее спасибо
Вы установили | развернули | выпущены оба проекта Project1 и Project2, чтобы можно было разрешить зависимости. –
Привет, Stefaan спасибо за ваш ответ ... Да, я установил | deployed | выпустил зависимости, чтобы они могли быть разрешены. Я пытаюсь использовать этот плагин http://mojo.codehaus.org/exec-maven-plugin/, который позволяет вам запускать основной метод с включенными зависимостями проекта maven. Однако, когда я распечатываю путь к классам, когда программа выполняет, никакая из зависимостей не загружается. – Barry