Как фильтровать сценарии оболочки с помощью плагина сборки maven

Я пытаюсь отфильтровать свои сценарии оболочки с помощью плагина сборки maven. Другие свойства и XML-файлы фильтруются правильно. Однако я получаю следующее сообщение в журнале для сценариев оболочки.

Соответствующий дескриптор сборки.

        <file>
        <source>src/main/config/default/buildcron.csh</source>
        <outputDirectory>/bin</outputDirectory>
        <filtered>true</filtered>
    </file>

и вот сообщение о том, что в журнале не фильтруются вышеуказанные скрипты. file buildcron.csh has a filtered file extension. Есть ли способ изменить это поведение по умолчанию?

PS: я вижу подобное поведение с файлами txt.

Изменить: вот плагин, который используется из POM.xml.

    <plugin>
            <artifactId>maven-assembly-plugin</artifactId>

            <executions>

                <execution>
                    <id>make-assembly</id>
                    <phase>install</phase>

                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>

            <configuration>
                <filters>
                    <filter>env/${env}.properties</filter>
                </filters>
                <descriptors>
                    <descriptor>src/main/assembly/myapp-server.xml</descriptor>
                </descriptors>
            </configuration>
        </plugin>


    </plugins>


</build>

Спасибо, Прабхьот.


person Prabhjot    schedule 24.03.2011    source источник
comment
Можете ли вы дать немного больше выходных данных? Фрагмент POM? Какую версию плагина сборки вы используете? Можете ли вы дать полное описание?   -  person khmarbaise    schedule 24.03.2011
comment
Добавили соответствующий раздел POM.   -  person Prabhjot    schedule 24.03.2011
comment
Вы пропустили версию плагина сборки maven? Почему вы настроили свою сборку на этапе установки? Вы пытались настроить фильтрацию в дескрипторе, используя набор файлов вместо одного файла?   -  person khmarbaise    schedule 24.03.2011
comment
Какую версию мне следует использовать? не будет ли он использовать последнюю версию, если я ее не укажу. Я считаю, что набор файлов не позволяет фильтровать. Я использовал это как ссылку. maven.apache.org/ плагины/maven-ассемблер-плагин/примеры/сингл/   -  person Prabhjot    schedule 24.03.2011
comment
Хорошо, согласно журналу версия «2.2-бета-2» используется для плагина сборки.   -  person Prabhjot    schedule 24.03.2011
comment
Кроме того, в сценарии оболочки переменная называется $varname, и я ожидаю, что ${property} будет заменено некоторым значением из файла dev/qa/prod.properties в папке env моего проекта. Я надеюсь, что плагин сборки не перестанет фильтровать, если найдет в файле что-то вроде $varname.   -  person Prabhjot    schedule 24.03.2011
comment
Обновление до 2.2.1 для плагина сборки.   -  person khmarbaise    schedule 24.03.2011
comment
и нужно ли вносить какие-либо другие изменения?   -  person Prabhjot    schedule 24.03.2011
comment
Я начал получать следующее исключение после обновления версии [INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] : org.apache.maven.plugin.assembly.model.Assembly@f942c4 Assembly is incorrectly configured: null Assembly: null is not configured correctly: Assembly ID must be present and non-empty.   -  person Prabhjot    schedule 24.03.2011


Ответы (3)


Вы должны определить идентификатор внутри своего дескриптора.

<assembly>
   <id>conf</id>
...
</assembly>
person khmarbaise    schedule 24.03.2011

Возможно, вы столкнулись с проблемой, описанной в этом нить. Возможно, какое-то свойство конфликтует с pom.

person Raghuram    schedule 24.03.2011
comment
Извините, я не могу получить доступ к этой странице. Не могли бы вы вставить ключевые указатели сюда? - person Prabhjot; 24.03.2011

У меня есть еще одна забота здесь. В настоящее время я фильтрую файлы (логика находится в дескрипторе сборки) в плагине сборки. Однако этот файл свойств помещается только в zip-папку (содержит файлы конфигурации, сценарии оболочки, зависимые банки). Генерируемая отдельная банка приложения по умолчанию не имеет файлов конфигурации. Мне снова нужно написать отдельную логику (в POM xml) для создания файлов конфигурации для конкретной среды.

Есть ли способ избежать дублирования логики?

person Prabhjot    schedule 24.03.2011