내가 시도하고 간단하게 (경로의 중간에) 디렉토리의 이름을 변경 개미 파일 세트/regexpmapper와 함께 연주 벽돌 벽에 내 머리를 두드리는거야 발행 간단한 :개미 regexpmapper 파일 분리는</p>는 <p>상황은 정말 ...
- 내가
DB/api/src/main/distribution/component
에 복사하고있어 경로component/DB/
있습니다. - 경로 구성 요소/DB에는 install.sql 스크립트 세트와
api
(또는 "API"또는 "Api")이라는 디렉토리가 있습니다. 이 "api"디렉토리에는 추가 SQL이 포함되어 있으며DB/api/component
대상에 도매로 복사됩니다 (따라서DB/api/src/main/distribution/component/api
만들기). - 이 사본의 일부로 일관성을 위해 단순히 "api"디렉토리 이름을 소문자로 지정하고 싶습니다.
소리가 간단하고 파일 세트를 사용하여이 작업을 수행하고 regexpmapper
(또는 mapper type=regexp
)을 수행했습니다. 그러나, 나는 결과가 엇갈 렸습니다 ... 특히 '/'를 (또는 '\\'또는 '/'또는 ${file.separator}
, 심지어 regexpmapper.handledirsep=yes
을 사용하는 경우에도) 입력하는 즉시 작동하지 않습니다. (find
에서)
여기 난독 소스 경로 구조 :
component/DB/
component/DB/API
component/DB/API/file1.sql
component/DB/API/file2.sql
component/DB/xyz.sql
component/DB/Install_API.sql
component/DB/excludes1/...
내 기본 사본은 다음과 같습니다 : 나는 선명도에 '/'일반 왼쪽했습니다
<copy todir="${my.db.api.dir}/src/main/distribution/component" verbose="true">
<fileset dir="${component.src.dir}/DB">
<exclude name="exclude1"/>
<exclude name="exclude1/**/*"/>
</fileset>
<regexpmapper handledirsep="yes"
from="(.*)/API(.*)" to="\1/api\2"/>
<!--mapper type="regexp" from="(.*)/API(.*)" to="\1/api\2"/-->
</copy>
. 기본 전제는 "API"를 발견하고 주변 텍스트를 잡고 대신 "api"로 재생하는 것입니다. from
에서 '/'를 생략하면 실제로 작동하지만 '/'(또는 친구)를 입력하자마자 디렉토리가 전혀 복사되지 않습니다. 내가 그 dir의 이름 만 바꾸고 그 안에 포함 된 Install_API.sql 파일이 아니라 앞의 '/'를 원한다는 것에주의하십시오.
온라인에서 많은 예제가 있지만 실제로는 작동중인 예제가 모두 '/', '\'또는 'handledirset
'속성에 의해 처리되도록 주장하는 것으로 보이는 것처럼 아무도이 문제가 없었던 것으로 보입니다.
개미 1.8.4 on RH6.3
많은 감사합니다.
. 괜찮 으면 한 가지 후속 질문이 있습니다.내 출력물에서는'/ src/main/distribution/component \ api' (내가 원함)뿐만 아니라'/ src/main/distribution/component/API' (자세한 내용은 "[copy] API "존재하지 않는 API로 추가되었습니다."및 "1 개의 빈 디렉토리를 ... 구성 요소 아래의 1 개의 비어있는 디렉토리에 복사했습니다."나중에 삭제할 수 있지만 설정 문제 (mo에서 읽음)가 있는지 궁금합니다. – wmorrison365
@ wmorrison365 그 이상한데, 나는'파일 세트'가 그것의 엔트리 중 하나 인'API' 디렉토리를 포함하지 않고 _files_ 세트라고 생각했다. (그리고 나는 대소 문자를 구별하지 않는 FS로 테스트했다. 처음에는 이것을 발견하지 못했습니다.) 정규식을 약간 변경하여 API와 "API/무언가"가 일치하도록했습니다. –
다시 한번 감사드립니다. @ianroberts. 파일 sep를 포함하지 말고 귀하의 설명을 주어^사용하십시오. 나는 당신의 개선을 시도해 볼게. 많이 감사하겠습니다. – wmorrison365