gpt4 book ai didi

java - weblogic 12.2.1.1.0 中的 "WELD-001409 Ambiguous dependencies for type "

转载 作者:行者123 更新时间:2023-12-01 09:00:50 31 4
gpt4 key购买 nike

我在 weblogic 12.2.1.1.0 中遇到焊接和 CDI 问题,我有一个带有名称和代码的类:

    package bo.otracosa;

import java.lang.annotation.Retention;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.util.HashSet;
import java.util.Set;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Default;
import javax.enterprise.inject.Produces;
import javax.inject.Qualifier;
import javax.enterprise.inject.Produces;

/**
*
* @author jdlee
*/
@ApplicationScoped
public class Database {

public Database() {
}

private Set<String> authCodes = new HashSet();
private Set<String> tokens = new HashSet();

public void addAuthCode(String authCode) {
authCodes.add(authCode);
}

public boolean isValidAuthCode(String authCode) {
return authCodes.contains(authCode);
}

public void addToken(String token) {
tokens.add(token);
}

public boolean isValidToken(String token) {
return tokens.contains(token);
}
}

我想使用 jerset jax-rs 注入(inject) REST 服务,但在 REST 中我收到此错误:

 :org.jboss.weld.exceptions.DeploymentException:WELD-001409: Ambiguous dependencies for type Database with qualifiers @Default
at injection point [BackedAnnotatedField] @Inject public bo.sigep.modulo.api.submodulo.AuthzEndPoint.db
at bo.sigep.modulo.api.submodulo.AuthzEndPoint.db(AuthzEndPoint.java:0)
Possible dependencies:
- Managed Bean [class bo.otracosa.Database] with qualifiers [@Any @Default],
- Managed Bean [class bo.otracosa.Database] with qualifiers [@Any @Default]

我在其他帖子中发现了这个错误,但解决方案,如何在 lib 或类路径中找到重复的类,在我的情况下不正确。其他解决方案说用户 gllashfish 但我使用 weblogic

注入(inject)是:

/**
*
* @author dddd
*/
import bo.otracosa.Database;
import bo.otracosa.Otraclase;
import java.net.URI;
import java.net.URISyntaxException;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.oltu.oauth2.as.issuer.MD5Generator;
import org.apache.oltu.oauth2.as.issuer.OAuthIssuerImpl;
import org.apache.oltu.oauth2.as.request.OAuthAuthzRequest;
import org.apache.oltu.oauth2.as.response.OAuthASResponse;
import org.apache.oltu.oauth2.common.OAuth;
import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
import org.apache.oltu.oauth2.common.message.OAuthResponse;
import org.apache.oltu.oauth2.common.message.types.ResponseType;
import org.apache.oltu.oauth2.common.utils.OAuthUtils;

/**
*
* @author jdlee
*/
@Path("/authz")
public class AuthzEndPoint {


@Inject
public Database db;

@GET
public String getMethod() {

db.isValidToken("hola");
return "ok";

}
}

并且没有任何想法?

最佳答案

该错误告诉我们,CDI 在类路径上找到了 bo.otracosa.Database 类两次。因此包含此类的库(jar)被部署多次。这很难说,但常见的原因是:

  • 您可能已在部署中添加了两次 jar(可能是 Maven 依赖项版本问题)
  • 包含 bo.otracosa.Database 的库可能已与其他应用程序或模块一起部署(如果使用 maven 构建:将服务器上已有的库的依赖范围更改为提供)

关于java - weblogic 12.2.1.1.0 中的 "WELD-001409 Ambiguous dependencies for type ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41685744/

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