여러 소스 디렉토리가있는 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. Builder Helper 플러그인 사용

Maven을 사용하면 Builder Helper 플러그인을 사용하여 더 많은 소스 디렉토리를 추가 할 수 있습니다 . 이 플러그인을 사용하면 다양한 방식으로 빌드 수명주기를 사용자 지정할 수 있습니다.

목표 중 하나는 소스 생성 단계 에서 프로젝트에 src 디렉토리를 더 추가하기위한 add -sources 입니다.

pom.xml 에 추가하여 프로젝트에서 사용할 수 있습니다 .

 org.codehaus.mojo build-helper-maven-plugin 3.0.0   generate-sources  add-source    src/main/another-src     

최신 버전의 플러그인은 Maven Central에서 찾을 수 있습니다.

지금 프로젝트를 컴파일하면 빌드가 성공합니다.

4. 결론

이 기사 에서 Maven 프로젝트의 여러 src 디렉토리에서 작동 하도록 Builder Helper Maven 플러그인을 설정하는 방법을 살펴 보았습니다 .

항상 그렇듯이 예제의 전체 소스 코드는 GitHub에서 사용할 수 있습니다.