сгенерированный файл в неправильном месте - PullRequest
0 голосов
/ 16 января 2019

Я использую плагин ресурсов maven для генерации простого файла с помощью фильтрации в файле war. У меня есть файл шаблона с переменными в папке src / main / webapp / app

<build>
<plugins>
    ...
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
            <execution>
                <phase>process-resources</phase>
            </execution>
        </executions>
    </plugin>
</plugins>

<resources>
    <resource>
        <directory>src/main/webapp/app</directory>
        <filtering>true</filtering>
    </resource>
</resources>
</build>

проблема в том, что сгенерированный файл находится в папке WEB-INF / classes, и мне нужно, чтобы он находился в папке приложения в корне войны. Структура войны должна быть

*.jsf
app/<generated_file>
WEB-INF/

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 17 января 2019

С комментариями я наконец-то смог найти решение. Было просто установить параметр outputDirectory в src / main / webapp / app и поместить шаблон в другое место за пределами src / main / webapp. В моем случае я положил его в папку src / main / jnlp. Итак, наконец, это было решение .. надеюсь, это поможет другим

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.1.0</version>
    <executions>
        <execution>
            <phase>process-resources</phase>                        
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/src/main/webapp/app</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/jnlp</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>              
            </configuration>
        </execution>
    </executions>
</plugin>
0 голосов
/ 16 января 2019

Вам нужно добавить цель copy-resources, если вы хотите скопировать что-то в другую структуру во время сборки, с помощью которой вы можете указать собственный путь вывода:

<configuration>
  <outputDirectory>${basedir}/target/extra-resources</outputDirectory>
  <resources>          
    <resource>
      <directory>src/non-packaged-resources</directory>
      <filtering>true</filtering>
    </resource>
  </resources>              
</configuration>

Это можно найти здесь в документации .

...