gpt4 book ai didi

cdi - 在 Wildfly 8 上使用 CDI 运行 Liquibase

转载 作者:行者123 更新时间:2023-12-05 09:22:24 27 4
gpt4 key购买 nike

我正在尝试在 WildFly 8.1.0.Final 上使用 CDI 运行 Liquibase 脚本,但出现此错误:

Unsatisfied dependencies for type ResourceAccessor with qualifiers @LiquibaseType

我的 POM 有这些依赖项:

<dependencies>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-cdi</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.mattbertolini</groupId>
<artifactId>liquibase-slf4j</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>

我的 CDI Bean 如下:

import javax.annotation.Resource;
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;

public class LiquibaseStarter {
@Produces
@LiquibaseType
public CDILiquibaseConfig createConfig() {
CDILiquibaseConfig config = new CDILiquibaseConfig();
config.setChangeLog("liquibase/parser/core/xml/simpleChangeLog.xml");
return config;
}

@Resource(name="java:jboss/datasources/ExampleDS")
private DataSource ds;

@Produces
@LiquibaseType
public DataSource createDataSource() {
return ds;
}

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

我的项目是一个简单的 WAR。我做错了什么?

最佳答案

LiquibaseStarter 没有 bean 定义注释。在类级别添加 @Dependent

关于cdi - 在 Wildfly 8 上使用 CDI 运行 Liquibase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26964483/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com