Иногда нам нужно использовать несколько исходных каталогов в проекте Java. Типичный пример, когда есть классы, которые генерируются автоматически и помещаются в другой каталог.
В этой короткой статье мы покажем, какset up Maven to work with additional source directories.
2. Добавление другого исходного каталога
Предполагая, что у нас уже есть проект Maven, давайте добавим новый исходный каталог с именемanother-src в папкуsrc/main.
После этого давайте создадим в этой папке простой класс Java:
public class Foo {
public static String foo() {
return "foo";
}
}
Теперь давайте создадим еще один класс в нашем каталогеsrc/main/java, который использует только что созданный классFoo:
public class MultipleSrcFolders {
public static void callFoo() {
Foo.foo();
}
}
Структура нашего проекта теперь выглядит так:
If we try to compile this project with Maven we get a compilation error, потому что классFoo не включен в проект:
[ERROR] .../MultipleSrcFolders.java:[6,9] cannot find symbol
[ERROR] symbol: variable Foo
[ERROR] location: class com.example.maven.plugins.MultipleSrcFolders
3. Использование плагинаBuilder Helper
С Maven мы можем использовать плагинBuilder Helper для добавления дополнительных каталогов исходного кода. Этот плагин позволяет нам настраивать жизненный цикл сборки различными способами.
Одна из его целей -add-sources, который предназначен для добавления дополнительных каталогов src в проект на этапеgenerate-sources.
Мы можем использовать его в нашем проекте, добавив его в нашpom.xml: