2011-05-02 2 views
0

J2ME 환경에서 작동하는 Java 클래스 편집기가 있는지 궁금합니다. Java 1.4에서 작동하는 aspectwerkz를 살펴 보았지만 J2ME에서는 작동하지 않는 종속성이 있습니다. 게다가 내 프로젝트에는 너무 큰 것처럼 보입니다. 또한 Objectweb ASM을 살펴 보았지만 Java 5가 필요합니다. BCEL 및 AspectJ와 같은 다른 라이브러리를 보았지만 그 중 아무 것도 작동하지 않는 것 같습니다. 그래서 기본적으로 클래스 파일을 수정할 수있는 Java 라이브러리를 찾고 있는데 (바이트 코드를 통과하는지 여부는 중요하지 않음) J2ME 환경에서 실행됩니다. 감사.Java 클래스/바이트 코드 위빙/편집 중 J2ME?

+0

asm 버전 3.3.1이 J2ME에서 작동하고 HelloWorld 예제가 작동하는 것으로 나타났습니다. 나는 그것으로 작업 하겠지만, 원시 자바 코드를 삽입 할 수있는 AspectJ와 같은 "상위"라이브러리를 갖는 것이 좋다. J2ME에 존재하는 것과 같은 것이 없다면, 내가 직접 라이브러리를 만들 수 있다고 생각합니다. – Yifan

답변

1

Javassist 튜토리얼의 마지막 페이지를 참조하십시오.

+0

감사합니다! 전에 Javassist를 살펴 봤지만 "javassist.CannotCompileException : java.lang.Object를 찾을 수 없습니다"라는 오류 메시지가 나타났습니다. 많은 클래스가 사전로드 된 java cvm을 사용하고 있기 때문에 가능성이 큽니다. 방금 Object.class를 클래스 패스에 추가했는데 성공했습니다. 어쩌면 내가 더 잘 할 수 있도록 소스를 수정할 것입니다. – Yifan

+0

또한 Javassist는 "실시간 편집"을 지원합니다. 예를 들어 클래스를로드하기 전에 메모리에 클래스를 패치하는 클래스 로더를 작성하고 클래스 파일을 실제로 만지지는 않습니까? – Yifan

+0

클래스 파일에서로드되지 않은 클래스를 수정할 수 있는지 여부를 묻는 중입니까? 그렇다면 그렇게 생각합니다. 자습서를 참조하십시오. – Ladlestein

0

Retroweaver입니다. 근원이 있기 때문에 당신은 당신의 필요에 맞게 수정할 수 있습니다.