複数のソースディレクトリを持つMavenプロジェクト
1. 序章
Javaプロジェクトで複数のソースディレクトリを使用する必要がある場合があります。 自動的に生成され、別のディレクトリに配置されるクラスがある場合の一般的なケースの例。
この短い記事では、追加のソースディレクトリで動作するようにMavenを設定する方法を示します。
2. 別のソースディレクトリの追加
Mavenプロジェクトがすでに作成されていると仮定して、 src /mainフォルダーにanother-srcという新しいソースディレクトリを追加しましょう。
その後、このフォルダ内に簡単なJavaクラスを作成しましょう。
public class Foo {
public static String foo() {
return "foo";
}
}
次に、作成したFooクラスを使用する別のクラスをsrc/ main /javaディレクトリに作成しましょう。
public class MultipleSrcFolders {
public static void callFoo() {
Foo.foo();
}
}
プロジェクト構造は次のようになります。
このプロジェクトをMavenでコンパイルしようとすると、 Foo クラスがプロジェクトに含まれていないため、コンパイルエラーが発生します。
[ERROR] .../MultipleSrcFolders.java:[6,9] cannot find symbol
[ERROR] symbol: variable Foo
[ERROR] location: class com.baeldung.maven.plugins.MultipleSrcFolders
3. BuilderHelperプラグインの使用
Mavenでは、 Builder Helper プラグインを使用して、ソースディレクトリをさらに追加できます。 このプラグインを使用すると、さまざまな方法でビルドライフサイクルをカスタマイズできます。
その目標の1つは、 add-sources です。これは、generate-sourcesフェーズ中にプロジェクトにさらにsrcディレクトリを追加することを目的としています。
pom.xml に追加することで、プロジェクトで使用できます。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/another-src</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
プラグインの最新バージョンは、 MavenCentralにあります。
プロジェクトをコンパイルすると、ビルドは成功します。
4. 結論
この記事では、Mavenプロジェクトで複数のsrcディレクトリを操作するように Builder HelperMavenプラグインを設定する方法を説明しました。
いつものように、例の完全なソースコードは、GitHubでから入手できます。