2014-12-10 2 views
0

Есть ли способ исключать файлы только при вызове mvn deploy, но есть ли файлы, когда я звоню mvn install?Maven исключает только определенные файлы при развертывании

EDIT: Когда я запускаю банку локально Я хочу logback.xml в src/main/resources, но когда я развернуть его так, что это библиотека logback.xml не должна быть включена.

+1

Не могли бы вы объяснить пример использования? – user944849

+0

У редактирования есть мой случай использования – Hank

+0

Можете ли вы поместить файл logback.xml в src/test/resources? Плагины, такие как plugty-maven-plugin, могут быть настроены так, чтобы включать тестовый путь класса при запуске. – user944849

ответ

0

Это не «Maven Way», чтобы иметь артефакт с различным контентом в зависимости от того, где он хранится. Maven ожидает, что artifact-1.0.jar будет точно таким же в удаленном репозитории и в любых локальных репозиториях.

Возможно, проект мог создать классическую банку рядом с настоящей банкой. Классифицированная банка будет включать logback.xml.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <executions> 
    <!-- default-jar is the ID assigned to the jar:jar execution included automatically by 
     Maven. --> 
    <execution> 
     <id>default-jar</id> 
     <configuration> 
     <!-- not exactly sure of the exact syntax for excludes in the jar plugin --> 
     <excludes> 
      <exclude>logback.xml</exclude> 
     </excludes> 
     </configuration> 
    </execution> 
    <execution> 
     <id>jar-with-logging</id> 
     <phase>package</phase> 
     <goals> 
     <goal>jar</goal> 
     </goals> 
     <configuration> 
     <classifier>logging</classifier> <!-- or whatever --> 
     </configuration> 
    </execution> 
    </executions> 

Это создаст два артефакта, артефакт 1.0.jar и артефакт-1,0-logging.jar. Оба артефакта попадут в оба репозитория. Если вы не хотите, чтобы версия ведения журнала была прикреплена (терминология Maven для публикации в репозитории), исследуйте с помощью maven-assembly-plugin, который может создавать пакеты в различных форматах без их присоединения.

Вы также можете переместить logback.xml в отдельный проект, поместить его отдельно и добавить его в путь к классам только при запуске jar из локального скрипта.