Нет такого метода com.atlassian.jira.rest.client.internal.json.WatchersJsonParserBuilder.createWatchersParser

Я работаю над приложением, в которое пытаюсь интегрировать функциональность JIRA. При попытке запустить код создания задачи получаю ошибку. Я понятия не имею, что я делаю неправильно. Любая помощь будет приятно.

Кроме того, как я могу создать проект в локально работающем экземпляре JIRA. Я не вижу эту опцию на панели инструментов. Любая помощь будет приятно.

Журнал ошибок :

java.lang.NoSuchMethodError: com.atlassian.jira.rest.client.internal.json.WatchersJsonParserBuilder.createWatchersParser()Lcom/atlassian/jira/rest/client/internal/json/JsonObjectParser;
    com.atlassian.jira.rest.client.internal.async.AsynchronousIssueRestClient.<init>(AsynchronousIssueRestClient.java:69)
    com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClient.<init>(AsynchronousJiraRestClient.java:48)
    com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.create(AsynchronousJiraRestClientFactory.java:37)
    com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.createWithBasicHttpAuthentication(AsynchronousJiraRestClientFactory.java:42)
    com.journaldev.spring.JIRA.CreateMinimalTask.doTask(CreateMinimalTask.java:31)

Код :

// Also, what are the keys below, and where can I find documentation about it. 
 private static final String PROJECT_KEY = "TST";
    private static final long TASK_TYPE_ID = 3L;
    private static final long SUBTASK_TYPE_ID = 5L;
    private static final String SUMMARY = "summary";

    public void doTask() throws IOException {

        final JiraRestClient restClient = new AsynchronousJiraRestClientFactory().createWithBasicHttpAuthentication(
                serverUri, username, password);

        final IssueInputBuilder parentBuilder = new IssueInputBuilder(PROJECT_KEY, TASK_TYPE_ID, "parent");
        final IssueInput parentInput = parentBuilder.build();

        try {

            final IssueRestClient client = restClient.getIssueClient();
            final BasicIssue parent = client.createIssue(parentInput).claim();
            System.out.println("parent: " + parent);


            final IssueInputBuilder childBuilder = new IssueInputBuilder(PROJECT_KEY, SUBTASK_TYPE_ID, "child");
            childBuilder.setFieldValue("parent", ComplexIssueInputFieldValue.with("key", parent.getKey()));
            final BasicIssue child = client.createIssue(childBuilder.build()).claim();

            final Issue actual = client.getIssue(parent.getKey()).claim();

            for (final Subtask subtask : actual.getSubtasks()) {
                final Issue actualChild = client.getIssue(subtask.getIssueKey()).claim();
                final JSONObject json = (JSONObject) actualChild.getField("parent").getValue();
            }

            client.deleteIssue(parent.getKey(), true).claim();
        } finally {
            if (restClient != null) {
                restClient.close();
            }
        }

    }

Любая помощь будет приятной, так как я новичок в JIRA.


person We are Borg    schedule 17.08.2015    source источник
comment
Вообще говоря, NoSuchMethodError вызвано наличием разных библиотек в среде выполнения, чем в среде компиляции. Сравните библиотеки (и версии) производственной среды с теми, которые вы использовали для компиляции.   -  person Little Santi    schedule 17.08.2015
comment
@LittleSanti: это довольно общий ход, поскольку я копирую библиотеки, необходимые с самого сайта JIRA. Какие из них, если бы вы могли упомянуть, могут вызвать эту проблему, было бы неплохо.   -  person We are Borg    schedule 17.08.2015
comment
Вы должны найти это сами: посмотрите на мой ответ stackoverflow.com/questions/31794998/ о том, как отследить, к какой библиотеке принадлежит определенный класс.   -  person Little Santi    schedule 17.08.2015