Maven2 POM 유형 포장 아래 파일에 필터링 적용
-
19-09-2019 - |
문제
나는 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
, 이것은 의미가 없습니다 (당신이 스스로 준 이유 때문에). 사실, 나는 당신이 달성하려는 것을 이해하지 못합니다 (이것이 일이 작동하는 방식이 아니라는 것을 알고 있기 때문에).