저는 Java 서비스와 다른 여러 언어로 작성된 클라이언트간에 많은 원격 객체 전송을 수행하는 프로젝트에서 작업하고 있습니다. 현재의 제약 조건을 감안할 때 기존 Java 클래스를 기반으로 코드를 생성하는 데 필요한 것이 무엇인지 알아보기로 결정했습니다. 기본적으로 나는 .class
파일 (또는 그것들의 콜렉션)을 가지고 바이트 코드를 분석하여 모든 데이터 멤버와 getters/setter를 결정한 다음 다른 언어로 코드를 출력하여 동일한 구조의 클래스를 만들 수있는 무언가를 작성합니다 ..class 파일을 프로그램 방식으로 검사하십시오.
JAD와 같은 표준 디 컴파일러를 찾고 있지 않습니다. .class
파일을 가져 와서 해당 데이터 멤버 및 메서드의 개체 모델을 만들 수 있어야합니다. 이것이 가능합니까?
+1 for ASM for BCEL. 훨씬 좋은 API. – skaffman
사실, ASM은 원한다면 객체 모델을 제공합니다. Tree API를 참조하십시오. –
여기까지 나열된 모든 옵션을 평가 한 후 ASM은 .class 파일을 검사하는 데있어 가장 좋은 IMH입니다. 방문자 패턴이 BCEL 모델보다 훨씬 깨끗하다는 데 동의합니다. 팁 고마워. –