문제

나는 Maven을 처음 사용합니다. 멀티 모드 프로젝트에서 필터링을 사용하고 싶습니다. 부모 POM의 포장 유형은 POM으로 설정됩니다. 프로젝트의 구조는 다음과 같습니다.

pom.xml
     |
     |______MODULE1
     |       |
     |       pom.xml
     |       File1_needed_to_be_filtered
     |
    File2_needed_to_be_filtered

Module1은 또한 멀티 모드 프로젝트입니다. File1 및 File2에 필터링을 어떻게 적용 할 수 있는지 알려주세요. 그리고 File1에 필터링을 적용하면 처리 된 파일이 저장 될 예정입니다 (포장 유형이 POM 인 POM 파일이 Target이라는 폴더를 생성하지 않기 때문에이 문제는 나에게 매우 중요 하고이 문제가 해결되지 않으므로 도와주세요. 다른 인터넷에서.

도움이 되었습니까?

해결책

당신은 사용할 수 있습니다 Maven-assembly-Plugin - 'DIR'형식의 형식을 사용합니다 (파일 이상이 하나 이상 있으면 어떤 종류의 아카이브를 만드는 것이 합리적 일 수 있음)). 그만큼 설명자 형식 필터링 할 수 있습니다. 이것은 위에서 설명한 POM 및 파일 계층과 함께 작동해야합니다.

그러나 부모 대신 형제 모듈에 넣는 것이 좋습니다. 이렇게하면 Aggregator POM에서 논리를 막고 (일단 시작하면) 어셈블리를 사용하여 다른 구성 요소와 함께 배포하는 것이 더 쉽다고 결정할 수 있습니다.

다른 팁

복사 할 때 Maven 필터 리소스를 사용하려면 필터링을 설정하십시오. true pom.xml의 리소스 디렉토리의 경우 :

<project>
  ...
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filterineg>
      </resource>
    </resources>
  </build>
</project>

그러나 자원을 필터링하려면 유형의 포장으로 프로젝트에 넣지 마십시오. pom, 이것은 의미가 없습니다 (당신이 스스로 준 이유 때문에). 사실, 나는 당신이 달성하려는 것을 이해하지 못합니다 (이것이 일이 작동하는 방식이 아니라는 것을 알고 있기 때문에).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top