【问题标题】:Could not Create Services for JIRA无法为 JIRA 创建服务
【发布时间】:2012-03-18 20:38:01
【问题描述】:

我想为 JIRA 创建一个服务。我正在使用 atlassian-plugin-sdk-3.8。

我为那个服务用java编写程序..当我导入atlassian api时

import com.atlassian.jira.project.ProjectManager;
import com.atlassian.jira.ComponentManager;
ProjectManager pm = ComponentManager.getInstance().getProjectCategories();

写完之后,我使用 atlas-package 命令。

但这里显示的是BUILD-FAILURE

[INFO] 编译失败 F:\services\module\src\main\java\com\first\module\MyPlugin.java:[9,25] 不能 符号 无法解析错误消息:符号:类 ComponentManager 位置:包 com.atlassian.jira F:\services\module\src\main\java\com\first\module\MyPlugin.java:20: 找不到 象征 ProjectManager pm = ComponentManager.getInstance().getProjectCategories(); ^

这是什么原因?

【问题讨论】:

标签: java jira-plugin atlassian-plugin-sdk


【解决方案1】:

将依赖项添加到您的 pom.xml:

<dependencies>
    <dependency>
        <groupId>com.atlassian.jira</groupId>
        <artifactId>jira-api</artifactId>
        <version>${jira.version}</version>
        <scope>provided</scope>
    </dependency>

    <!-- Add dependency on jira-core if you want access to JIRA implementation classes as well as the sanctioned API. -->
    <!-- This is not normally recommended, but may be required eg when migrating a plugin originally developed against JIRA 4.x -->
    <dependency>
        <groupId>com.atlassian.jira</groupId>
        <artifactId>jira-core</artifactId>
        <version>${jira.version}</version>
        <scope>provided</scope>
    </dependency>
    ...
</dependencies>

【讨论】:

    【解决方案2】:

    根据您的 jira api 版本尝试以下方法之一:

    ProjectManager pm = ComponentManager.getInstance().getProjectManager();
    
    ProjectManager pm = ComponentAccessor.getProjectManager();
    

    更多详情请看JIRA api

    【讨论】: