Подтвердить что ты не робот

Maven: как получить военный пакет с ресурсами, скопированными в WEB-INF?

когда я создаю военный пакет с maven, файлы и каталоги в каталоге "src/main/resources" копируются в /WEB -INF/classes вместо/WEB-INF. Как я могу их скопировать в /WEB -INF?

спасибо, Rand

UPDATE: в моем пом, я использую это:

<plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.4.3</version>
            <executions>
                <execution>
                    <id>copy-resources</id>
                    <!-- here the phase you need -->
                    <phase>war</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>myapp/target/WEB-INF</outputDirectory>
                        <resources>
                            <resource>
                                <directory>src/main/resources</directory>
                                <filtering>true</filtering>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>

и я запускаю mvn с помощью:

mvn -Dmaven.test.skip = true чистые ресурсы пакета: copy-resources

но я получил: [INFO] Один или несколько требуемых параметров плагина являются недопустимыми/отсутствующими для ресурсов: copy-resources

[0] Внутри определения плагина 'maven-resources-plugin' укажите следующее:

... СТОИМОСТЬ .

[1] Внутри определения плагина 'maven-resources-plugin' укажите следующее:

... СТОИМОСТЬ .

Я использую maven 2.2, и фрагмент в основном такой же из документации любая идея?

4b9b3361

Ответ 1

либо настройте параметр outputDirectory плагина resources:resources, либо поместите ваши файлы в каталог src/main/webapp/WEB-INF/. плагин ресурсов

EDIT:

Эта конфигурация работает для меня:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.4.2</version>
    <executions>
      <execution>
        <id>default-copy-resources</id>
        <phase>process-resources</phase>
        <goals>
          <goal>copy-resources</goal>
        </goals>
        <configuration>
          <overwrite>true</overwrite>
          <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF/</outputDirectory>
          <resources>
            <resource>
              <directory>${project.basedir}/src/main/resources</directory>
            </resource>
          </resources>
        </configuration>
      </execution>
    </executions>
  </plugin>

вы можете запустить фазу в форме somePhase или цели somePlugin:someGoal. Вызовы фазы вызовут все цели плагинов, привязанные к фазам в интервале [validate, phase] в порядке, поэтому нет необходимости явно их вызывать.

Ответ 2

Веб-ресурсы не совпадают с ресурсами Java, которые должны быть размещены в пути к классам. Веб-ресурсы обрабатываются через военный плагин и должны быть помещены в src\main\webapp\WEB-INF\. В этом случае он будет работать автоматически без какой-либо дополнительной настройки в pom.xml