Pergunta

Estou tentando aplicar o Maven a um projeto existente que já possui uma estrutura de diretório em vigor. Tudo o que posso encontrar na pergunta anterior é o seguinte.

Estrutura do diretório MAVEN

No entanto, meu requisito é mais detalhado. Por favor, veja abaixo a estrutura do diretório:

 <root dir>
    |
    +--src-java
    |
    +--src-properties
    |
    +--WEB-INF

Eu sei que poderíamos ter algo como

<build>
<sourceDirectory>src-java</sourceDirectory>
...
</build>

Mas sourceDirectory é apenas para o código -fonte Java, se não me engano.

Para a estrutura acima, como eu a declaro em pom.xml? Mover o diretório é minha última opção agora.

Foi útil?

Solução

Eu acho que você precisa ter algo semelhante a abaixo.

Vendo WEB-INF, Suponho que você queira construir uma guerra. Plugin de guerra do MAVEN faz isso. Você precisará configurar isso um pouco, pois a estrutura da pasta não é padrão - por exemplo, você pode precisar especificar o local do web.xml usando webXml propriedade. Estes são documentados no página de uso.

<build>
    <sourceDirectory>src-java</sourceDirectory>
    ...
    <resources>
      <resource>
        <directory>src-properties</directory>
      </resource>
    </resources>
    ...
    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warSourceDirectory>WEB-INF</warSourceDirectory>
                    ...
                </configuration>
            </plugin>
     </plugins>
</build>

Outras dicas

Você pode alterar a estrutura de diretório padrão declarada no Super Pom substituindo -os em seu pom.

Para o seu exemplo, por exemplo

<sourceDirectory>src-java</sourceDirectory>
<resources>
  <resource>
    <directory>src-properties</directory>
  </resource>
</resources>

O MAVEN copiará todos os recursos para o arquivo JAR. Se você deseja incluir a Web-Inf no frasco, seria melhor movê-lo para o diretório de recursos especificado. Caso contrário, você deve copiá -lo por conta própria (com plugins Maven) para o diretório de destino - suponho.

 <resources>
  <resource>
    <directory>${project.basedir}/src/main/resources</directory>
  </resource>

A partir de aqui.

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