Переопределить BFILE в модульном тесте Quarkus, чтобы использовать H2
Я столкнулся с устаревшим кодом, использующим оракул BFILE.
В других приложениях я успешно использовал действительно мощныйrider-cdi
тестовые аннотации в сочетании сquarkus-jdbc-h2
. Мне нравится продолжать эту стратегию. Однако BFILE все портит.
Мой класс сущности выглядит так:
// :
@Column(name = "FILE_CONTENTS", updatable = true, insertable = true, nullable = false)
@AttributeAccessor("property")
@Type(type = "nl.bro.microservices.dlp.orm.common.BfileType")
private BFILE fileContents;
// :
В которомnl.bro.microservices.dlp.orm.common.BfileType
реализуетorg.hibernate.usertype.UserType
.
Моей первоначальной мыслью было бы переопределитьoracle.sql.BFILE
и положи это в мойsrc/test/java/
папка. Однако, похоже, это не поможет обмануть загрузчик классов, выбрав этот файл вместо файла в зависимостях. Я пытался исключить зависимость оракула из Surefire (юнит-тест)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<classpathDependencyExcludes>
<classpathDependencyExclude>io.quarkus:quarkus-jdbc-oracle</classpathDependencyExclude>
</classpathDependencyExcludes>
</configuration>
</plugin>
Но Quarkus все еще хочет загрузить Oracle и завершается с ошибкой: ``java.lang.RuntimeException: java.lang.RuntimeException: не удалось загрузить шаги из класса io.quarkus.jdbc.oracle.deployment.ExtendedCharactersSupport```
Какие-либо предложения?
Также возможен полный пропуск (игнорирование), поскольку модульный тест касается объектов, отличных от тех, которые содержатBFILE