1

Я создал webapp, используя maven2 archetype в netbeans 6.7.Как очистить папки/файлы _svn из папки src/main/webapp, когда maven2 создает проект webapp в netbeans 6.7?

Когда я делаю простой сбор (удаление всей конфигурации плагина), он копирует все необходимые файлы, включая папки «_svn». Но мне не нужны эти файлы, как я могу очистить папки/файлы _svn от * .war-файла и из вложенной целевой папки, содержащей содержимое папки src/main/webapp?

T E S T S 
------------------------------------------------------- 
Running com.project.project.taglib.SSTest 
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

[war:war] 
Packaging webapp 
Assembling webapp[project-servlets] in 
[C:\ROOT\1utils\project\project-servlets\trunk\target\project-servlets] 
Processing war project 
Copying webapp resources[C:\ROOT\1utils\project\project-servlets\trunk\src\main\webapp] 
Webapp assembled in[735 msecs] 
Building war: C:\ROOT\1utils\project\project-servlets\trunk\target\project-servlets.war 
[install:install] 
Installing C:\ROOT\1utils\project\project-servlets\trunk\target\project-servlets.war 
to C:\LOCALREPO\.m2\com\project\project-servlets\1.0.0\project-servlets-1.0.0.war 

мне удалось использовать фильтрацию ресурсов в pom.xml, чтобы отфильтровать _svn файлы, все, что работает отлично, если я создаю файл фляги. Но с войной, после этапа TEST, он копирует содержимое папки src/main/webapp ([war: war]), я не могу найти способ найти, какая конфигурация/команда делает это? это netbeans? это любой из плагинов, которые я использую? Вот раздел сборки моего pom.xml, помощь будет очень признательна!

<project> 
.. ... 
<build> 
<resources> 
<resource> 
    <directory>src/main/resources</directory> 
    <filtering>true</filtering> 
    <excludes> 
     <exclude>_svn/**/*</exclude> 
    </excludes> 
</resource> 
</resources> 
<testResources> 
<testResource> 
    <directory>src/test/resources</directory> 
    <filtering>true</filtering> 
    <excludes> 
     <exclude>_svn/**/*</exclude> 
    </excludes> 
</testResource> 
</testResources> 
<plugins> 
<plugin> 
<artifactId>maven-resources-plugin</artifactId> 
<version>2.4</version> 
<executions> 
    <execution> 
     <id>copy-resources</id> 
     <phase>validate</phase> 
     <goals> 
      <goal>copy-resources</goal> 
     </goals> 
     <configuration> 
     <outputDirectory>${basedir}/target/project-servlets/WEB-INF</outputDirectory> 
     <resources> 
      <resource> 
       <directory>${basedir}/src/main/resources</directory> 
       <filtering>true</filtering> 
       <excludes> 
        <exclude>_svn/**/*</exclude> 
       </excludes> 
      </resource> 
     </resources> 
     </configuration> 
    </execution> 
</executions> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.0.2</version> 
    <configuration> 
     <verbose>true</verbose> 
     <source>1.5</source> 
     <target>1.5</target> 
    </configuration> 
</plugin> 
</plugins> 
<finalName>project-servlets</finalName> 
</build> 
.. 
.. 
</project> 

@Pascal Thivent - большое спасибо за ответ. Я добавил конфигурацию «maven-war-plugin», и он начал делать упаковку дважды!

[war:war] Packaging webapp 
Assembling webapp[project-servlets] in [C:\ROOT\1utils\frg\project-servlets\trunk\target\project-servlets] 
Processing war project 
Copying webapp resources[C:\ROOT\1utils\frg\project-servlets\trunk\src\main\webapp] 
Webapp assembled in[391 msecs] 
Building war: C:\ROOT\1utils\frg\project-servlets\trunk\target\project-servlets.war [war:war] 
Packaging webapp 
Assembling webapp[project-servlets] in [C:\ROOT\1utils\frg\project-servlets\trunk\target\project-servlets] 
Dependency[Dependency {groupId=log4j, artifactId=log4j, version=1.2.8, type=jar}] has changed (was Dependency {groupId=log4j, artifactId=log4j, version=1.2.8, type=jar}). 
Dependency[Dependency {groupId=com.frg, artifactId=project, version=1.1.7, type=jar}] has changed (was Dependency {groupId=com.frg, artifactId=project, version=1.1.7, type=jar}). 
Dependency[Dependency {groupId=com.frg, artifactId=commons, version=1.0.3, type=jar}] has changed (was Dependency {groupId=com.frg, artifactId=commons, version=1.0.3, type=jar}). 
Dependency[Dependency {groupId=net.sourceforge.jtds, artifactId=jtds, version=1.2.2, type=jar}] has changed (was Dependency {groupId=net.sourceforge.jtds, artifactId=jtds, version=1.2.2, type=jar}). 
Processing war project 

ПОМ Теперь файл имеет следующие конфигурации ..

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-war-plugin</artifactId> 
<executions> 
    <execution> 
     <id>war</id> 
     <phase>package</phase> 
     <goals><goal>war</goal></goals> 
     <configuration> 
      <webResources> 
      <resource> 
      <directory>src/main/webapp</directory> 
      <excludes> 
       <exclude>_svn/**/*</exclude> 
       <exclude>**/_svn/**</exclude> 
      </excludes> 
      </resource> 
      </webResources> 
     </configuration> 
    </execution> 
</executions> 
</plugin> 

И я до сих пор увидеть _ Svn папки в военных файлов !! Однако после того, как я сменил папки svn на папки .svn, мне даже не нужна фильтрация ресурсов! Он автоматически игнорирует папки .svn. Я бы подумал, что там где-то должны быть настройки, чтобы установить предпочтение от .svn до '_svn'. Во всяком случае, это решает мою первоначальную проблему, но представляет проблему обратной совместимости с моими старыми версиями проектов .NET. :)

+0

Это, вероятно, игнорирует ' .svn', потому что '.svn' является скрытой папкой по сравнению с' _svn', которая не является, а не потому, что она распознает '.svn' как папку управления asource. –

+0

Мой первоначальный ответ был частично неправильным, и я исправил его. Но я по-прежнему предлагаю использовать «стандартную» схему имен .svn' вместо «_svn». Что касается проблемы обратной совместимости с вашими проектами .NET, не можете ли вы просто проверить их с помощью '.svn'? –

+0

Я решил проблему, используя SVN_ASP_DOT_NET_HACK. В командной строке мне нужно установить значение пустым, чтобы убедиться, что оно распознает .svn как правильную папку управления версиями и выдает новую копию. Итак, все работает правильно бок о бок .. –

ответ

2

(EDIT: Мой первоначальный ответ предлагал использовать excludes в webResources, что является неправильным. м обеспечивая ниже обновленной конфигурации maven-war-plugin, что действительно исключает _svn в соответствии с просьбой ОП. Это было проверено и работает.)

... 
<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
     <warSourceExcludes> 
     **/_svn/** 
     </warSourceExcludes> 
    </configuration> 
    </plugin> 
    ... 
</plugins> 

Но, я тепло предложить настроить клиент черепаховый использовать .svn вместо _svn. Я не могу найти ссылку, но я считаю, что maven использует что-то эквивалентное <exclude>**/.svn</exclude> внутренне. Я сомневаюсь в предыдущем заявлении. Тем не менее, факт заключается в том, что использование .svn позволяет избежать дополнительной настройки и, таким образом, намного проще.

+0

Я сменил папки svn на папки .svn, мне даже не нужна фильтрация ресурсов! Он автоматически игнорирует папки .svn. –

+0

Действительно, это была моя точка (и предложение). На самом деле, я даже не знал некоторых инструментов, где использовал что-то еще, чем '.svn' ... –

+0

по умолчанию svn настроен на использование .svn, но наши проекты выпусков VS2003 имели проблемы, поэтому мы переключились с .svn на _ СВН. –

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

  • Нет связанных вопросов^_^