Запуск Liquibase с CDI на Wildfly 12 - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь запустить интеграцию CDI в Liquidibase на Wildfly 12 (JDK 10).Во время запуска появляется следующая ошибка

10:27:30,291 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => ".war")]) - failure description: {
"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\".war\".WeldStartService" => "Failed to start service
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type ResourceAccessor with qualifiers @LiquibaseType
  at injection point [BackedAnnotatedField] @Inject @LiquibaseType liquibase.integration.cdi.CDILiquibase.resourceAccessor
  at liquibase.integration.cdi.CDILiquibase.resourceAccessor(CDILiquibase.java:0)

Я нашел похожий вопрос здесь: Запуск Liquibase с CDI на Wildfly 8 , но данное решение не сработало для меня.

Код моего продюсера такой же, как на веб-сайте liquibase: http://www.liquibase.org/documentation/cdi.html package de.xima.lag.system.database.liquibase;

import java.sql.SQLException;

import javax.annotation.Resource;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.Dependent;
import javax.enterprise.inject.Produces;
import javax.sql.DataSource;

import liquibase.integration.cdi.CDILiquibaseConfig;
import liquibase.integration.cdi.annotations.LiquibaseType;
import liquibase.resource.ClassLoaderResourceAccessor;
import liquibase.resource.ResourceAccessor;


@Dependent
public class LiquibaseProducer {

  @Resource
  private DataSource myDataSource;

  private static final String LIQUIBASE_MASTERFILE_PATH = "META-INF/liquibase/master.xml";

  @Produces
  @LiquibaseType
  public CDILiquibaseConfig createConfig() {
    CDILiquibaseConfig config = new CDILiquibaseConfig();
    config.setChangeLog(LIQUIBASE_MASTERFILE_PATH);
    return config;
  }

  @Produces
  @LiquibaseType
  public DataSource createDataSource() throws SQLException {
    return myDataSource;
  }

  @Produces
  @LiquibaseType
  public ResourceAccessor create() {
    return new ClassLoaderResourceAccessor(getClass().getClassLoader());
  }
}

Мой maven pom выглядит следующим образом:... org.liquibase liquibase-core 3.6.1

<dependency>
   <groupId>org.liquibase</groupId>
   <artifactId>liquibase-cdi</artifactId>
   <version>3.6.1</version>
</dependency>
...

У кого-нибудь есть идея?

Обновление: Уже включая liquibase-cdi зависимость от проекта вызывает эту ошибку.Так что, я думаю, это не проблема с классом продюсера?

1 Ответ

0 голосов
/ 31 мая 2018

Wildfly выпустила новую версию в настоящее время, поэтому я переключился на Wildfly 13, и это сработало.Нет идей

...