2014-11-17 2 views
1

Пожалуйста, помогите мне с оценкой, может ли maven использоваться для проблемы, с которой я столкнулся. Надеюсь, вы можете дать мне несколько советов о maven или предложить использовать другой инструмент.Использование Maven для изменения архива

Задача: У нас есть архив шаблонов, содержащий ресурсы. Нам нужно создать новый архив на основе шаблона с использованием пользовательских файлов/данных.

  • некоторые файлы из шаблона должны быть заменены на пользовательские.
  • некоторые файлы должны быть обработаны, а заполнители в этих файлах должны быть заменены на пользовательские переменные. (i.e $ {filename} -> "my_file_name.txt")

Файл pom должен содержать описание того, какие файлы следует заменить, и от каких файлов должны быть взяты пользовательские файлы. Также он должен описать, какие файлы должны обрабатываться процессором-держателем места и где получить значения переменных.

Можно написать программу java для выполнения всех этих действий, но код Java должен быть изменен снова и снова для другого набора настраиваемых файлов и новых заполнителей. Надеюсь, с помощью maven (также пользовательских плагинов, если потребуется) эта задача может быть простой задачей настройки.

Пример:

папки шаблона:

/src/main/resources/file1.xml 
/src/main/resources/file2.xml 
/META-INF/MANIFEST.MF 

file2.xml:

<file>${file_name}</file> 

Пользовательские папки:

/src/main/resources/file1.xml 
/src/main/resources2/file3.xml 

на заказ Файл недвижимости:

file_name=my_file_name.xml 

Результат:

/src/main/resources/file1.xml 
/src/main/resources/file2.xml 
/src/main/resources2/file3.xml 
/META-INF/MANIFEST.MF 

file2.xml:

<file>my_file_name.xml</file> 

Вопросы:

  1. Как поставить неизмененной MANIFEST.MF в T папка. Я пытался использовать

    < Архивировать >

    <addMavenDescriptor> ложь </addMavenDescriptor > <manifestFile> SRC/главная/ресурсы/шаблон/META-INF/MANIFEST.MF </manifestFile >

    </архив >

но это просто отключает 'Maven' часть META-INF. Функция manifestiest.mf по-прежнему генерируется maven

  1. Как реализовать заполнитель/переменный процессор?

  2. Как закрепить полученный набор файлов в .zip-файл?

  3. Как вызывать сборку maven из класса java?

  4. Есть ли альтернативный инструмент, который может быть более подходящим для моей задачи?

С уважением, Ilia

+0

Привет, Илья, добро пожаловать в переполнение стека. Обычно принято задавать один вопрос за сообщение. В любом вопросе можно получить разъяснения или помощь по нескольким пунктам, если они плотно связаны. В будущем вы можете подумать о том, чтобы задать несколько вопросов самостоятельно. – voidHead

+0

Спасибо. Я согласен, что всегда лучше задавать отдельные вопросы. Но в настоящее время я скорее предпочитаю советы, какой инструмент использовать - должен ли он быть maven или что-то еще. Поэтому, пожалуйста, прочитайте вопросы как требования, а не просьбу о помощи. Мне просто нужно знать, правильно ли подходит maven или нет. –

ответ

0

Это очень много вопросов, но я постараюсь ответить:

  1. Перемещение META-INF/MANIFEST.MF в/SRC/главная/resources/

  2. Он уже реализован на http://maven.apache.org/plugins/maven-resources-plugin/ для замены свойств файлов ресурсов на $ {propertyName}

  3. Молнии могут быть созданы с http://maven.apache.org/plugins/maven-assembly-plugin/

  4. Не делай этого, Maven вызывается из командной строки, IDE или непрерывной интеграции сервера.

  5. На инструменте будет Gradle или старый Ant для обозначения некоторых из них.

+0

Спасибо! Что касается 4: создание архива должно выполняться «на лету». Пользователь выбирает шаблон, предоставляет свой пользовательский файл/переменную и нажимает кнопку «идти». Сервер готовит архив и разворачивает его. Поэтому мне нужен инструмент, который подготовит архив для развертывания. У меня нет IDE или сервера непрерывной интеграции. –

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