Pergunta

Algo semelhante foi perguntado em maven lista de usuários mas tenho a situação, semelhante a isso.

Eu tenho algum serviço, empacotado como .WAR, que é construir pelo Maven. No entanto, este arquivo .WAR requer personalização: Eu preciso empacotá-lo de diferentes maneiras, dependendo da entrada do usuário. Basicamente, próprio usuário deve selecionar os componentes, ele gostaria de adicionar à guerra, e definir algumas configurações simples para esses componentes.

O que eu preciso fazer é:

  1. Criar um installator "leve", que não irá conter qualquer maven artefatos (ou, se isso não for possível, conter todos eles = installator "pesado").
  2. Quando lançamentos usuário final a installator, ele é convidado para a lista de componentes para o pacote (= caixas)
  3. Para cada componente, installator pede para as opções de configuração (depois de ser salvos como .property arquivos, um por componente)
  4. Installator seguida, obtém apenas os artefatos necessários (selecionado pelo usuário + aqueles que são obrigatórios), e substitui o arquivo de propriedade (s) nesses artefatos por aqueles a partir da etapa 3 (ou coloca-los para "as classes /").
  5. Finalmente ele cria pacote WAR pronto para uso e (opcionalmente) lançamentos Tomcat (ou Jetty) em um fundo.

IzPack ajuda a resolver único passo 2. Mas existe alguma solução universal para isso?

Foi útil?

Solução

Eu não conheço nenhuma solução universal fazendo isso, especialmente algo que irá pacote um WAR personalizado. IzPack pode se reúnem instalar parâmetros (e talvez ajudar a resolver a etapa 3), IzPack tem um recurso avançado chamado web instaladores que poderia ajudar a resolver o passo 4, mas a meu conhecimento, não é a / ferramenta de empacotamento de construção, por isso não vai cobrir passo 5 (a mais importante).

Talvez um arquétipo Maven poderia ajudar aqui (no modo interativo). Mas eu não estou mesmo certo um arquétipo vai oferecer o nível de flexibilidade que você precisa. Em outras palavras, não será simples.

Na verdade, no seu caso, acho que Ant (com Maven Ant Tarefas ou Ivy) seria a melhor opção. Eu sei que isto não é o que você pediu, mas eu não acho que Maven é a ferramenta certa para o seu caso de uso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top