Использование maven с использованием нестандартного макета каталога
Я пытаюсь применить maven к существующему проекту, который уже имеет структуру каталогов на месте. Все, что я могу найти из предыдущего вопроса, это следующее.
однако, мое требование более подробно. Ниже приведена структура каталогов:
<root dir>
|
+--src-java
|
+--src-properties
|
+--WEB-INF
Я знаю, что у нас может быть что-то вроде
<build>
<sourceDirectory>src-java</sourceDirectory>
...
</build>
но sourceDirectory
предназначен только для исходного кода JAVA, если я не ошибочно принимать.
для вышеуказанной структуры, как я объявляю ее в pom.xml
? Перемещение каталога - мой последний вариант прямо сейчас.
3 ответов
Я думаю, вам нужно иметь что-то похожее на ниже.
видим WEB-INF
, Я полагаю, вы хотите построить войну. в Maven войны плагин это. Вам нужно будет настроить это немного, так как структура папок нестандартна-например, вам может потребоваться указать местоположение web.xml с помощью webXml
собственность. Они задокументированы в страница использование.
<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>
вы можете изменить структуру каталогов по умолчанию, объявленное в супер пом переписывая их в вашем pom.
для вашего примера, например,
<sourceDirectory>src-java</sourceDirectory>
<resources>
<resource>
<directory>src-properties</directory>
</resource>
</resources>
Maven скопирует все ресурсы в файл jar. Если вы хотите включить WEB-INF в jar, лучше всего переместить его в указанный каталог ресурсов. В противном случае вы должны скопировать его самостоятельно (с плагинами maven) в целевой каталог - я полагаю.
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
С здесь.