2010-12-13 4 views
3

개미 스크립트에서 javap 명령을 실행하고 싶습니다. Javap 명령은 JDK의 bin 폴더에 있지만 ant 스크립트의 JDK 경로에 어떻게 액세스합니까? $ {java.home}이 JDK 대신 JRE를 가리키고 있으므로 도움이되지 않습니다.개미에서 javap를 실행하는 방법

나는 PATH를 수정하거나 JAVA_HOME과 같은 다른 환경 변수를 설정하는 것과 같은 시스템 구성을 필요로하지 않는 솔루션을 찾고 있습니다. Windows에서만 작동하는 솔루션이 좋습니다.

답변

1

먼저 질문 해 주셔서 감사합니다. 나는이 유틸리티에 대해 몰랐고 항상 디 컴파일을 위해 DJ 나 JAD 같은 외부 도구를 사용했다.

두 번째로 나는 쉬운 방법이 있다고 생각하지 않습니다. 나는 당신이 JDK를 찾아내는 플랫폼 고유의 메커니즘을 만들어야한다는 것에 대해 경의를 표한다. Windows 용 레지스트리를 사용하고 linke와 같은 명령은 유닉스에서

ls /bin/java*/bin/javac* | tail -1 

과 같이 사용하십시오.

+0

'javap'은 표준 decompiler보다 훨씬 큽니다. javap이 제공하는 다양한 스위치를 살펴보면 놀라실 것입니다. :-) –

2

개미 스크립트는 외부 속성 파일을 읽을 수 있습니다. 간단한 해결책은 JDK_HOME 속성을 기존 속성 파일이나 Ant 스크립트에 추가하는 것입니다. 그 후에 JDK_HOME을 참조로 사용하여 javap 도구를 참조 할 수 있습니다. 이 솔루션에서는 시스템 특성을 변경할 필요가 없습니다. 유일한 요구 사항은 JDK 경로를 알아야한다는 것입니다.

+0

제 문제는 처음부터 JDK 경로를 프로그래밍 방식으로 얻는 방법입니다. – msell

+0

@msell : JAVA_HOME 자체가 JDK_HOME이 아니라면 * JDK가 설치된 위치를 알 수있는 정상적인 방법이 없습니다. JDK가 항상 설치된다고 가정 할 수 있을까요? ad-hoc 솔루션은'javap.exe'라는 파일을 찾기 위해 * 파일 시스템을 검색하는 것이지만, 여러분은 이미 이런 종류의 혼란을 이미 알고 있다고 확신합니다. :-) –