javassist를 사용하여 시스템 검색 경로에있는 기존 Java 클래스 목록을 찾는 방법이 있습니까? ".getDefault()"를 사용하여 시스템의 기본 검색 경로를 반환 할 수 있다는 것을 알고 있습니다. 클래스 이름을 모른 채이 검색 경로에 클래스를 나열하는 방법이 있습니까?javassist를 사용하여 프로젝트의 모든 클래스를 가져올 수 있습니까?
답변
프로젝트 쉽게 로그인하거나 어떻게 든 프로젝트
public class Agent {
public static void premain(String agentArgs, Instrumentation inst) {
inst.addTransformer(new ClassFileTransformer() {
@Override
public byte[] transform(ClassLoader classLoader, String s,
Class<?> aClass, ProtectionDomain protectionDomain,
byte[] bytes) throws IllegalClassFormatException {
// here you will see all the classes that are loaded into your project
// So just log its full name
System.out.println(s);
}
}
}
이 메서드는 이미 기존 클래스가 아니라로드 된 클래스 만 기록한다고 생각합니다. 나는 오래된 "scan all jars"방법 만이 유일한 방법이라고 생각한다. – Panayotis
이 메소드는 JVM으로로드 될 모든 클래스를 인터셉트합니다. 모든 클래스를 로그하지 않는다는 것을 의미합니다. 프로젝트에 클래스 (예 : JUnit 테스트)가로드되어 있지 않으면 로그에 나타나지 않습니다. – rakwaht
빠른 Google 쿼리가 끝나면 기본적으로 문제는 내가 제안한 것과 동일한 방법으로 여기에서 물었다. https://zeroturnaround.com/rebellabs/how-to-inspect-classes-in-your-jvm/ – rakwaht
- 1. 인터페이스를 구현하는 모든 클래스를 가져올 수 있습니까?
- 2. 클래스의 모든 서브 클래스를 가져올 수 있습니까?
- 3. Javassist를 사용하여 메소드의 수정자를 삭제할 수 있습니까?
- 4. 프로젝트의 모든 클래스를 반복합니다.
- 5. Intellij에있는 프로젝트의 모든 클래스를 나열하는 방법이 있습니까?
- 6. Javassist를 사용하여 메소드를 호출하십시오.
- 7. 다른 프로젝트의 보고서를 가져올 수 있습니까
- 8. 프로젝트의 위키를 GitHub에서 tarball로 가져올 수 있습니까?
- 9. javassist를 사용하여 클래스 복사본을 만드는 방법은 무엇입니까?
- 10. 은 원격 시스템에있는 클래스를 가져올 수 있습니까?
- 11. is_null에서 true를 반환하는 클래스를 가져올 수 있습니까?
- 12. 클래스를 VS2010의 클래스로 가져올 수 있습니까?
- 13. PendingIntent는 클래스를 매개 변수로 가져올 수 있습니까?
- 14. NSDictionary에서 모든 값을 반복하고 가져올 수 있습니까?
- 15. Amd를 사용하여 Typescript 클래스를 가져올 수 없습니다
- 16. getElementByClassName을 사용하여 jquery로 추가 한 클래스를 가져올 수 있습니까?
- 17. javassist를 사용하여 비 정적 초기화 프로그램 만들기
- 18. LINQ를 사용하여 특정 유형의 모든 구성 요소를 가져올 수 있습니까?
- 19. 프로젝트의 모든 클래스를 목록에 추가하는 방법
- 20. 기존 Objective C 프로젝트의 클래스를 Swift 응용 프로그램으로 가져올 수 있습니까
- 21. 내 프로젝트의 백업 복사본을 Git으로 수동으로 가져올 수 있습니까?
- 22. Javassist를 사용하여 상위 클래스의 개인 메소드를 계측합니까?
- 23. TFS API를 사용하면 프로젝트의 어셈블리를 가져올 수 있습니까?
- 24. Javassist를 사용하여 다른 패키지의 코드를 수정 하시겠습니까?
- 25. 빈 정의에 연결하여 클래스를 변경할 수 있습니까?
- 26. 개체의 경우 리플렉션 또는 다른 방법을 사용하여 모든 하위 클래스를 가져올 수 있습니까?
- 27. Android Studio에서 이전 프로젝트의 클래스를 새 프로젝트로 이동할 수 있습니까?
- 28. Python에서 클래스를 가져올 수 없습니다.
- 29. java.awt.font 클래스를 가져올 수 없습니다.
- 30. UserManager 클래스를 가져올 수 없습니다.
클래스 패스의 모든 클래스에로드되는 모든 클래스를 저장할 수에 대한 에이전트/변압기를 연결하는 경우, 당신은 의미합니까? "사전에 클래스 이름을 지정하지 않고도"무엇입니까? – acdcjunior
일반적으로 javassist를 사용하여 클래스 파일을 수정하려면 "pool.get ("class_name ");" 기본 JVM (Java 가상 머신)이 class_name.class 바이트 코드에 대해 기본적으로 갖는 동일한 경로를 검색합니다. 나는 하나의 클래스 (이 예제에서 "class_name.class")를 가져 가지 않고도 모든 클래스를 가져올 수 있는지 묻습니다. –
이 요구 사항에 대한 해결책을 찾았습니까? – Panayotis