jira rest预期至少有1个符合自动装配候选资格的bean,以满足此依赖关系。

huangapple 未分类评论48阅读模式
英文:

jira rest expected at least 1 bean which qualifies as autowire candidate for this dependency

问题

以下是翻译好的内容:

我正在为 Jira Atlassian 开发 REST 插件,遇到了这样的问题。每当我希望我的 API 显示出来时,我需要按照以下格式为我的新 API 添加空构造函数:

import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

@Path("/import-issues")
public class ImportIssuesRestResource {
    private ImportIssuesAction importIssuesAction;

    public ImportIssuesRestResource() {
    }

    public ImportIssuesRestResource(final ImportIssuesAction importIssuesAction) {
        this.importIssuesAction = importIssuesAction;
    }

    @GET
    @Path("issueNumber")
    @Produces(MediaType.APPLICATION_JSON)
    public Response getFields() {
        return Response.ok().entity(importIssuesAction.getIssueNumber()).build();
    }
}

然而我想要的是像这样的代码:

@Scanned
@Path("/import-issues")
public class ImportIssuesRestResource{
    private ImportIssuesAction importIssuesAction;
    
    @Inject
    public ImportIssuesRestResource(final ImportIssuesAction importIssuesAction) {
        this.importIssuesAction = importIssuesAction;
    }

    @GET
    @Path("issueNumber")
    @Produces(MediaType.APPLICATION_JSON)
    public Response getFields() {
        return Response.ok().entity(importIssuesAction.getIssueNumber()).build();
    }
}

具有注入构造函数和 @Scanned。当我使用第二个代码版本时,我遇到了以下错误:

Error creating bean with name 'rest.ImportIssuesRestResource': Unsatisfied dependency expressed through constructor argument with index 0 of type [action.ImportIssuesAction] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}

其他的 API 也有类似的注入构造函数,并使用了 @Scanned 或 @Named 注解。我需要我的 API 实时从类中获取信息。然而目前我在公共的 getter 方法 getIssueNumber 中遇到了空指针异常。我在 ImportIssuesAction 类中使用了 @Named 注解。

英文:

I am developing rest plugin for jira atlassian and I have this kind of problem.
every time I want that my apis are showing up I need to add empty constructor to my new api in this format

import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

@Path("/import-issues")
public class ImportIssuesRestResource {
    private ImportIssuesAction importIssuesAction;

    public ImportIssuesRestResource() {
    }

    public ImportIssuesRestResource(final ImportIssuesAction importIssuesAction) {
        this.importIssuesAction = importIssuesAction;
    }

    @GET
    @Path("issueNumber")
    @Produces(MediaType.APPLICATION_JSON)
    public Response getFields() {
        return Response.ok().entity(importIssuesAction.getIssueNumber()).build();
    }
}

However what I want is something like this

@Scanned
@Path("/import-issues")
public class ImportIssuesRestResource{
    private ImportIssuesAction importIssuesAction;
    
    @Inject
    public ImportIssuesRestResource(final ImportIssuesAction importIssuesAction) {
        this.importIssuesAction = importIssuesAction;
    }

    @GET
    @Path("issueNumber")
    @Produces(MediaType.APPLICATION_JSON)
    public Response getFields() {
        return Response.ok().entity(importIssuesAction.getIssueNumber()).build();
    }
}

with injected constructor and @Scanned. I get this error when I am using the second version of code.

 Error creating bean with name 'rest.ImportIssuesRestResource': Unsatisfied dependency expressed through constructor argument with index 0 of type [action.ImportIssuesAction] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}

The others api have similar injected constructor and using annotations @Scanned or @Named. I need my api real-time getting information from class. However currently I am getting NullPointerException in rest of my public getter getIssueNumber. I am using @Named in class ImportIssuesAction.

答案1

得分: 0

似乎 ImportIssuesAction 在你的 atlassian-plugin.xml 中尚未声明为组件导入项。
链接:https://community.atlassian.com/t5/Answers-Developer-Questions/Components-injection-with-Spring-Scanner/qaq-p/553801

英文:

Looks like ImportIssuesAction has not been declared as a componentimport in your atlassian-plugin.xml
https://community.atlassian.com/t5/Answers-Developer-Questions/Components-injection-with-Spring-Scanner/qaq-p/553801

huangapple
  • 本文由 发表于 2020年5月5日 00:01:38
  • 转载请务必保留本文链接:https://java.coder-hub.com/61596476.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定