2010-09-15 1 views
1

У меня есть (обычай) встроенный причал, который я использовал для разработки/тестирования моего веб-приложения (до перехода на maven).игнорировать зависимость maven в течение конкретной фазы выполнения

Я могу обмануть m2eclipse, вставив управляемые зависимостями maven в библиотеки для военного файла на путь класса launcher (при запуске из eclipse). Я сделал это, создав две зависимости для одного и того же артефакта: один из типов «война» и один тип «jar» («jar» зависимость трюки m2eclipse в том, что я хочу).

Однако maven-assembly-plug-in для пусковой установки не работает, когда он не может найти банку для военного проекта.

Вопрос: Могу ли я сказать maven, чтобы игнорировать зависимость jar при запуске цели пакета?

более детальный фон: У меня есть проект webapp.war и причал-пусковая установка проект, прежде чем перейти к Maven; У меня была зависимость проекта затмения, так что на пусковой установке были все военные зависимости во время выполнения. Все исходило из идеала (без повторной сборки военного файла), необходимого для проверки изменений.

После перехода на maven этот подход был перехитрин, поскольку m2eclipse знает, что не следует включать библиотеки, от которых зависит баночка (поскольку они связаны с войной).

ответ

1

Я обошел это, используя отдельный .m2/settings-eclipse.xml (для eclipse), где я перепробовал тип зависимости по умолчанию. поэтому в моей пусковой POM, у меня есть:

<dependency> 
    <groupId>com.myco</groupId> 
    <artifactId>my-server</artifactId> 
    <version>${project.version}</version> 

    <!-- here we want eclipse to see "jar" but command line to see "war" --> 
    <type>${jetty.launcher.workaround}</type> 
</dependency> 

Я все еще хотел бы знать, если есть прямой путь приближения к исходной задаче.

-2

Это, вероятно, слишком поздно, но это может быть полезным для кого-то:

<optional>true</optional> 
</dependency> 

Итак, добавьте <optional>true</optional> к вашему pom.xml

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