Вопросы по теме 'javassist'

Javassist - добавление аннотации к классу не работает с отражениями
Я создаю класс с помощью javassist и добавляю к нему аннотацию. Когда я использую CtClass.writeFile и вижу файл класса с декомпилятором Java, аннотация есть, но когда я использую class.getAnnotations() или class.getDeclaredAnnotations(), список пуст....
3014 просмотров
schedule 15.10.2022

Сравнение инфраструктуры динамического манипулирования байт-кодом Java
Есть несколько фреймворков для динамической генерации байт-кода, манипулирования и переплетения (BCEL, CGLIB, javassist, ASM, MPS). Я хочу узнать о них, но поскольку у меня не так много времени, чтобы знать все подробности обо всех из них, я хотел бы...
8078 просмотров

Получить данные об операции с помощью javassist
Я пытаюсь проанализировать байтовый код с помощью javassist, используя простой класс MyData : class MyData { private Collection<String> strings = new ArrayList<String>(); // ..................... public void...
1574 просмотров
schedule 18.01.2024

Интеграция манипулирования байт-кодом javassist с компиляцией maven
У меня есть проект maven, который компилируется с помощью компилятора javac/aspectj. Я хочу запускать классы, которые были скомпилированы программой javassist, которая манипулирует скомпилированными классами и добавляет к ним материал. Я думал, что...
3328 просмотров

Hibernate javassist прокси и `Object#equals`
При предоставлении реализации #equals для UDT в Java одним из условий является то, что переданный объект аргумента должен быть экземпляром текущего класса, в противном случае мы быстро return false ошибемся, см. Эффективная Java (EJ2). Однако...
3915 просмотров
schedule 09.03.2024

Инструменты с классами сущностей Javassist, используемыми Hibernate
Я разработал библиотеку, которая генерирует во время выполнения классы специализации абстрактного класса с учетом определенных аннотаций в абстрактном классе. Итак, моя библиотека используется примерно так: X x = newInstance(X.class) //X is an...
1846 просмотров
schedule 15.05.2024

ClassFileTransformer + Javassist: такого поля нет
Хорошо, я пытаюсь сделать java-агент, который будет контролировать приложение. Итак, я пытаюсь внедрить код в PreparedStatements для измерения времени выполнения SQL-запросов. Для этого я разработал класс, реализующий ClassFileTransformer. Это...
1946 просмотров
schedule 06.02.2023

java.lang.AbstractMethodError после обновления до Hibernate 3.3.2
У нас есть устаревшее приложение, использующее Hibernate 3.0.5, и мы пытаемся обновить его до Hibernate 3.3.2 (версия, которая меньше влияет на текущий код). После обновления зависимостей в pom.xml приложение развертывается правильно, но при...
600 просмотров
schedule 28.02.2022

Javassist - CannotCompileException: объявление конструктора/метода не найдено
У меня есть следующий класс, который я хочу использовать в своем сгенерированном коде с помощью Javassist. public class SomeClass { private String someString; private Object someValue; public SomeClass() {} public...
1191 просмотров
schedule 14.10.2023

Модификация кода с помощью Javassist генерирует java.lang.VerifyError: ожидается найти целое число в стеке
Я использую javassist, чтобы переписать метод с именем compile (который принимает массив String в качестве аргумента): я создал новый метод, имеющий сигнатуру как метод compile (это копия исходного), переименовал фактический метод compile в...
490 просмотров

Инструментировать удаленное Java-приложение с помощью javassist+javaagent+jmx
На самом деле я хочу разработать java-приложение, которое должно инструментировать другое java-приложение, ведь у меня нет его исходного кода. Я попытался создать агент и прикрепить его к jvm.. затем я создал mbean и попытался подключиться к нему.....
52 просмотров

Как создать переменную класса, созданного с помощью javassist
Я создал класс pojo во время выполнения, используя javassist. Я пытаюсь преобразовать XML-файл в java-объект, используя созданный мной pojo, используя jackson mapper, как показано ниже, //test.proper.MyRuntimeClass is the Pojo I created using...
333 просмотров
schedule 01.11.2023

Как преобразовать динамически вводящее пользовательское выражение в код Java?
Я прочитал документацию по байтам и javassist, и я хотел бы не знать, возможно ли преобразовать строку, например: get foos where name == toto to data.getFoos().stream() .filter( f -> f.name.equals( "toto" ) )...
83 просмотров
schedule 12.07.2023

Можно ли получить доступ к классу, объявленному в скрипте Groovy, в javassist?
У меня есть сценарий Groovy, который объявляет определенный класс. Могу ли я получить доступ к этому классу в том же скрипте через javassist? Мне нужно создать для него объект CtClass. Вот пример скрипта test.groovy: import javassist.*;...
192 просмотров
schedule 20.11.2022

Как удалить метод из скомпилированного файла класса/jar Java?
У меня есть файл JAR и есть статический класс, я не могу его декомпилировать, он портится. В нем есть один метод, который возвращает несуществующий класс. Не знаю как, но я получаю NoClassDefFoundError . Хотя я не использую этот метод, он все...
607 просмотров
schedule 21.11.2022

Javassist API с Junit
Я пытаюсь изменить некоторые определения сторонних классов перед каждым тестом, чтобы имитировать разные результаты. Мне приходится использовать что-то вроде javassist, потому что расширение классов иногда просто невозможно из-за модификаторов...
528 просмотров
schedule 19.07.2022

Javassist — addMethod, возвращающий объект[][]
Моя цель — создать во время выполнения дополнительный метод внутри определенного файла .class. Метод, возвращающий Object[][]. Для этого я нашел замечательный фреймворк под названием Javassist, фреймворк модификатора байт-кода, который помогает...
94 просмотров
schedule 04.12.2023

Загрузка внешних файлов .class с помощью Javassist
У меня есть каталог под названием «TestDir», который содержит несколько внешних файлов .class, которые я хотел бы загрузить и изменить во время выполнения с помощью JAssist. Я понимаю, что именно так вы должны загружать внешние классы с помощью...
21 просмотров
schedule 12.02.2024