2017-09-24 16 views
0

基本認証を使用してJiraRestClientを作成しようとしています。JiraRestClientを作成できません

JiraRestClientFactory factory = new AsynchronousJiraRestClientFactory(); 
URI jiraServerUri = getJiraUri(); 
JiraRestClient restClient = factory 
.createWithBasicHttpAuthentication(jiraServerUri, USERNAME, PASSWORD); 

しかし、私は以下の例外を取得しています:

Exception in thread "main" java.lang.NoSuchMethodError: com.atlassian.fugue.Option.fold(Lcom/google/common/base/Supplier;Lcom/google/common/base/Function;)Ljava/lang/Object; 
    at com.atlassian.httpclient.apache.httpcomponents.proxy.ProxyConfigFactory.getProxyHost(ProxyConfigFactory.java:16) 
    at com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient.<init>(ApacheAsyncHttpClient.java:211) 
    at com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient.<init>(ApacheAsyncHttpClient.java:123) 
    at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.doCreate(DefaultHttpClientFactory.java:68) 
    at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.create(DefaultHttpClientFactory.java:35) 
    at com.atlassian.jira.rest.client.internal.async.AsynchronousHttpClientFactory.createClient(AsynchronousHttpClientFactory.java:63) 
    at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.create(AsynchronousJiraRestClientFactory.java:35) 
    at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.createWithBasicHttpAuthentication(AsynchronousJiraRestClientFactory.java:42) 
    at com.jira.JiraClient.getJiraRestClient(JiraClient.java:37) 
    at com.jira.JiraClient.getIssue(JiraClient.java:25) 
    at com.jira.JiraClient.main(JiraClient.java:20) 

いくつかの実行時の依存関係が欠落しているようです。しかしどちらが確実かわからない。ここで

は私のポンポンからの抜粋です:

<dependencies> 
    <dependency> 
     <groupId>com.atlassian.jira</groupId> 
     <artifactId>jira-rest-java-client-core</artifactId> 
     <version>4.0.0</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.atlassian.fugue</groupId> 
     <artifactId>fugue</artifactId> 
     <version>3.0.0-m007</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-simple</artifactId> 
     <version>1.6.4</version> 
    </dependency> 
</dependencies> 
<repositories> 
    <repository> 
     <id>atlassian-public</id> 
     <url>https://packages.atlassian.com/maven/repository/public</url> 
    </repository> 
</repositories> 

は、私はここで何をしないのですか?

答えて

0

JRJCと互換性のフーガのバージョンでは、私は、最初はフーガせずにしようとしたのNoClassDefFoundErrorを持っ2.6.1

<dependency> 
    <groupId>com.atlassian.fugue</groupId> 
    <artifactId>fugue</artifactId> 
    <version>2.6.1</version> 
</dependency> 
0

ライブラリがないためではありません。これは、pugのfugueとjira-rest-java-client-coreの間のバージョンの不一致が原因です。

sourceで簡単に見ると、FugueはJDKインターフェースを期待していますが、残りのライブラリはguava oneを提供しています。

修正バージョンを試してください。または、フーガを一切指定しないでください。それは推移的な依存として来るはずです。

+0

4.0.0is。その後、依存関係を追加しました。バージョンを確認します。しかし、私はGuavaインターフェースがJDKインターフェースを拡張していると考えて、それらを渡すことは問題ではないはずです。 – Yasin

関連する問題