'copy' task을 사용하여 복사 작업을 수행하는 Ant 스크립트가 있습니다. Windows 용으로 작성되었으며 'todir'인수로 하드 코드 된 C : \ 경로가 있습니다. 'exec'작업에 OS 인수가 있다는 것을 알 수 있습니다. OS 기반 사본을 분기하는 것과 비슷한 방법이 있습니까?Ant 복사 작업을 OS에 맞게 만들 수 있습니까?
19
A
답변
31
속성에 경로를 넣은 다음 조건에 따라 현재 OS를 기준으로 속성을 설정하는 것이 좋습니다.
부작용으로, 일단 속성에 있으면 Ant 스크립트를 편집하지 않고 무시할 수 있습니다.
1
변수를 사용할 수없고 유형에 따라 할당 할 수 없습니까? build.properties
파일에 넣을 수 있습니다. 또는 condition을 사용하여 지정할 수 있습니다.
2
당신은 다른 복사 작업으로 분기하는 조건 작업을 사용할 수 있습니다 ... 개미 매뉴얼에서 :
<condition property="isMacOsButNotMacOsX">
<and>
<os family="mac"/>
<not>
<os family="unix"/>
</not>
</and>
1
는 조작의 루트 폴더에있는 변수를 선언합니다. 해당 변수 앞에 복사 작업을 포함하여 폴더의 접두어를 붙입니다.
조건부를 사용하여 OS를 기반으로 변수를 설정하거나 Ant 스크립트에 인수로 전달하십시오.
6
이전에 게시 된 OS 별 변수 제안이 효과적 일 수 있지만 여러 번 "C :"접두사를 생략하고 슬래시 (유닉스 스타일) 파일 경로를 사용하면 Windows 및 Unix 시스템에서 모두 작동합니다. 유닉스의 Windows에와 "/ tmp에"당신과 같이 사용할 수 있습니다 : 당신이 "/ tmp를 C는"파일을 복사 할 경우
그래서,
<copy todir="/tmp" overwrite="true" >
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
</copy>
을 당신은/설정해야 할 경우
<condition property="root.drive" value="C:/" else="/">
<os family="windows" />
</condition>
<copy todir="${root.drive}tmp" overwrite="true" >
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
</copy>
0
개미의 contrib는 < osfamily/> 작업을 가지고로서 OS에 기초하여 조건부로, 그것은 단순화 될 수있다. 그러면 os의 패밀리가 (이름을 지정하는) 속성에 노출됩니다. 이것은 약간의 유익이 될 수 있습니다.
관련 문제
- 1. ANT 작업을 수동으로 시작합니다.
- 2. 어떻게 맞게 이미지를 만들 수 있습니다
- 3. Silverlight : ListBox를 모든 콘텐츠에 맞게 충분히 크게 만들 수 있습니까?
- 4. ANT 작업을 사용하여 서명 된 jar를 업데이트 할 수 있습니까?
- 5. ANT 복사 메시지를 억제하는 방법
- 6. Ant 작업 Windows Share (SMB)에 복사
- 7. 어떻게 ListBoxItem의 내용을 복사 가능하게 만들 수 있습니까?
- 8. 온라인 Dynamics CRM 2011에서 되풀이 작업을 만들 수 있습니까?
- 9. 어떻게 파일 시스템에 디렉토리를 만들 수 있습니까?
- 10. 색인과 다른 작업을 만들 수 없습니다.
- 11. Ant 복사 작업 : java.io.FileNotFoundException으로 인해 복사하지 못했습니다.
- 12. Windows에서 복사 작업을 후킹하는 방법
- 13. Windows OS에 Zero-copy가 있습니까?
- 14. ANT 복사 중 파일 이름 바꾸기
- 15. div에 맞게 문자열 끝을 어떻게자를 수 있습니까?
- 16. OS에 따라 설치 프로젝트를 통해 파일을 어떻게 설치할 수 있습니까?
- 17. 은 EclipseLink 2 :이 ANT 작업을 얻었다
- 18. 동적으로 UITextView를 만들 수 있습니까?
- 19. delayed_jobs가 delayed_jobs를 만들 수 있습니까?
- 20. inlineformset_factory가 tabularInline을 만들 수 있습니까?
- 21. .htaccess를 어떻게 만들 수 있습니까? :) ...
- 22. 어떻게 Drupal 작업을 개선 할 수 있습니까?
- 23. swt : 복사/붙여 넣기 작업을 처리하는 방법?
- 24. OS에 의해 활동이 중단된다는 것을 어떻게 알 수 있습니까?
- 25. TeX에서 방정식을 더 작게 만들 수 있습니까?
- 26. iPhone OS에 이상적인 네트워크 운영이 있습니까?
- 27. Ant javac 작업을 사용하여 컴파일 된 파일을 어떻게 후 처리 할 수 있습니까?
- 28. Javascript를 사용하여이 작업을 완료 할 수 있습니까?
- 29. OS에 특정한 CSS?
- 30. iPhone OS에 제약 레이아웃 관리자가 있습니까?
Windows와 Linux에서 똑같이 처리되는 Ant에서 경로를 선언하는 방법이 없습니까? 나는 단지 궁금하다. –