Вопросы по теме 'javassist'
Javassist - добавление аннотации к классу не работает с отражениями
Я создаю класс с помощью javassist и добавляю к нему аннотацию. Когда я использую CtClass.writeFile и вижу файл класса с декомпилятором Java, аннотация есть, но когда я использую class.getAnnotations() или class.getDeclaredAnnotations(), список пуст....
3014 просмотров
schedule
15.10.2022
Сравнение инфраструктуры динамического манипулирования байт-кодом Java
Есть несколько фреймворков для динамической генерации байт-кода, манипулирования и переплетения (BCEL, CGLIB, javassist, ASM, MPS). Я хочу узнать о них, но поскольку у меня не так много времени, чтобы знать все подробности обо всех из них, я хотел бы...
8078 просмотров
schedule
26.05.2023
Получить данные об операции с помощью 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 просмотров
schedule
24.11.2023
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 просмотров
schedule
16.08.2023
Инструментировать удаленное Java-приложение с помощью javassist+javaagent+jmx
На самом деле я хочу разработать java-приложение, которое должно инструментировать другое java-приложение, ведь у меня нет его исходного кода.
Я попытался создать агент и прикрепить его к jvm.. затем я создал mbean и попытался подключиться к нему.....
52 просмотров
schedule
16.04.2023
Как создать переменную класса, созданного с помощью 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