2010-10-16 2 views
1

Я создал плагин maven. У меня есть некоторые классы в плагине, которые я хочу сделать доступным для клиента плагина после его выполнения.Как использовать классы проекта maven (упаковка -> maven-plugin) в другом проекте maven (упаковка -> jar)

Проблема в том, что проект типа maven-plugin также является банкой, поэтому я просто не могу использовать maven-jar-plugin и maven-install-plugin для установки jar (с классами) в качестве зависимости ,

Любые идеи о том, как это сделать?

ответ

0

Я создал плагин maven. У меня есть некоторые классы в плагине, которые я хочу сделать доступным для клиента плагина после его выполнения.

Я вижу два варианта:

  1. объявить зависимость от плагина в клиенте:

    <dependency> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>2.0.2</version> 
        <type>maven-plugin</type> 
    </dependency> 
    
  2. поставить общие классы в общем модуле (с упаковкой типа jar) и объявить зависимость от этого общего модуля как в клиенте, так и в плагине.

Лично я нахожу второй вариант очистки (и вы не получите все транзитивные зависимости плагина от пути к классам).

+0

Спасибо, что ответили Паскалем. Это, безусловно, решение. Однако то, что я пытаюсь сделать, заключается в том, что при запуске плагина клиенту доступно банку. Таким образом, плагин имеет свою полноту. Зависимость от зависимостей делает плагин немного неполным. Но я не могу это сделать. Еще раз спасибо. – TheHat

+0

@Paritosh Да, я понимаю намерение. К сожалению, я не знаю, как это сделать (если это возможно). –

Смежные вопросы