2015-10-14 116 views
0

我正在創建jira休息客戶端,以使用jitbit進行一些交叉檢查。 JITbit部分的工作原理與JIRA客戶端不同。我得到這個例外。 奇怪的是,如果我用代替logback pom通過slf4j-simple它的工作原理。但我想用的logback沒有SLF4J-簡單無法創建AsynchronousHttpClientFactory

configuartion = config; 
this.uri = URI.create(configuartion.getJiraBaseUrl()); 
restClientFactory = new AsynchronousJiraRestClientFactory(); 
myHandler = new BasicHttpAuthenticationHandler(configuartion.getJiraUser(), configuartion.getJiraPassword()); 
issuclient = restClientFactory.create(uri,myHandler).getIssueClient(); 

但在執行時,我得到這個異常

22:14:24.737 [main] DEBUG c.a.j.r.c.i.a.AsynchronousHttpClientFactory$MavenUtils - Could not find version for maven artifact com.atlassian.jira:jira-rest-java-com.atlassian.jira.rest.client 
    22:14:24.742 [main] DEBUG c.a.j.r.c.i.a.AsynchronousHttpClientFactory$MavenUtils - Got the following exception 
    java.lang.NullPointerException: null 
    at java.util.Properties$LineReader.readLine(Properties.java:434) ~[na:1.8.0_45] 
    at java.util.Properties.load0(Properties.java:353) ~[na:1.8.0_45] 
    at java.util.Properties.load(Properties.java:341) ~[na:1.8.0_45] 
    at com.atlassian.jira.rest.client.internal.async.AsynchronousHttpClientFactory$MavenUtils.getVersion(AsynchronousHttpClientFactory.java:158) ~[jira-rest-java-client-core-2.0.0-m25.jar:na] 
    at com.atlassian.jira.rest.client.internal.async.AsynchronousHttpClientFactory$RestClientApplicationProperties.getVersion(AsynchronousHttpClientFactory.java:121) [jira-rest-java-client-core-2.0.0-m25.jar:na] 
    at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClient.getUserAgent(DefaultHttpClient.java:168) [atlassian-httpclient-apache-httpcomponents-0.13.2.jar:na] 
    at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClient.<init>(DefaultHttpClient.java:139) [atlassian-httpclient-apache-httpcomponents-0.13.2.jar:na] 
    at com.atlassian.jira.rest.client.internal.async.AsynchronousHttpClientFactory.createClient(AsynchronousHttpClientFactory.java:53) [jira-rest-java-client-core-2.0.0-m25.jar:na] 
    at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.create(AsynchronousJiraRestClientFactory.java:35) [jira-rest-java-client-core-2.0.0-m25.jar:na] 
    at eu.pricefx.monitoring.tickets.crossChecker.dao.JiraTicketDao.<init>(JiraTicketDao.java:33) [classes/:na] 

我POM是在這裏:

<properties> 
     <!-- Logging --> 
     <slf4j.version>1.7.5</slf4j.version> 
     <logback.version>1.0.13</logback.version> 

     <!-- Spring --> 
     <spring-framework.version>4.2.1.RELEASE</spring-framework.version> 

     <jira-api.version>6.1.1</jira-api.version> 
     <jira-rest-java-client-core.version>3.0.0</jira-rest-java-client-core.version> 


     <!-- Test --> 
     <junit.version>4.11</junit.version> 

    </properties> 

    <dependencies> 
     <!-- Logging --> 

     <!-- <dependency> --> 
     <!-- <groupId>org.slf4j</groupId> --> 
     <!-- <artifactId>slf4j-simple</artifactId> --> 
     <!-- <version>${slf4j.version}</version> --> 
     <!-- </dependency> --> 
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-core</artifactId> 
      <version>${logback.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>${logback.version}</version> 
     </dependency> 

     <!-- Spring and Transactions --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${spring-framework.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.10</version> 
     </dependency> 
     <!-- Json Mapping --> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>2.5.3</version> 
     </dependency> 
     <dependency> 
      <groupId>com.google.code.gson</groupId> 
      <artifactId>gson</artifactId> 
      <version>2.3.1</version> 
     </dependency> 

     <!-- Jira rest client api library --> 

     <dependency> 
      <groupId>com.atlassian.jira</groupId> 
      <artifactId>jira-rest-java-client-api</artifactId> 
      <version>2.0.0-m25</version> 
     </dependency> 
     <dependency> 
      <groupId>com.atlassian.jira</groupId> 
      <artifactId>jira-rest-java-client-core</artifactId> 
      <version>2.0.0-m25</version> 
     </dependency> 

     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-json</artifactId> 
      <version>1.5</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-client</artifactId> 
      <version>1.9</version> 
     </dependency> 

     <!-- static list of items generation --> 
     <dependency> 
      <groupId>org.apache.velocity</groupId> 
      <artifactId>velocity</artifactId> 
      <version>1.7</version> 
     </dependency> 
     <!-- configuration reader --> 
     <dependency> 
      <groupId>commons-configuration</groupId> 
      <artifactId>commons-configuration</artifactId> 
      <version>1.8</version> 
     </dependency> 
    </dependencies> 
    <dependencyManagement> 
    <dependencies> 
    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpclient</artifactId> 
     <version>4.2.1-atlassian-2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpasyncclient</artifactId> 
     <version>4.0-beta3-atlassian-1</version> 
    </dependency> 
    </dependencies> 
    </dependencyManagement> 


    <build> 
     <sourceDirectory>src</sourceDirectory> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <configuration> 
        <archive> 
         <manifest> 
          <mainClass>eu.pricefx.monitoring.tickets.crossChecker.CrossChecker</mainClass> 
         </manifest> 
        </archive> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <repositories> 
     <repository> 
      <id>atlassian-public</id> 
      <url>https://m2proxy.atlassian.com/repository/public</url> 
      <snapshots> 
       <enabled>true</enabled> 
       <updatePolicy>daily</updatePolicy> 
       <checksumPolicy>warn</checksumPolicy> 
      </snapshots> 
      <releases> 
       <enabled>true</enabled> 
       <checksumPolicy>warn</checksumPolicy> 
      </releases> 
     </repository> 
    </repositories> 

我有嘗試了什麼是寫在here但它沒有幫助

回答

0

所有你必須創建你的客戶是這樣的第一:

JiraRestClient restClient = restClientFactory.createWithBasicHttpAuthentication(uri, configuartion.getJiraUser(), configuartion.getJiraPassword()); 

其次,你應該使用最新的版本(3.0),所以,你應該用下面的覆蓋你的POM:

<dependency> 
     <groupId>com.atlassian.jira</groupId> 
     <artifactId>jira-rest-java-client-api</artifactId> 
     <version>3.0.0</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.atlassian.jira</groupId> 
     <artifactId>jira-rest-java-client-core</artifactId> 
     <version>3.0.0</version> 
     <scope>provided</scope> 
    </dependency> 

如果這不會解決你的問題,你應該檢查你的連接到Atlassian的公共存儲庫。您也可以嘗試到資源庫網址更改爲以下(我認爲這是主要的問題,因爲他們改變了他們的倉庫URL):

<repositories> 
    <repository> 
     <id>atlassian-public</id> 
     <url>https://maven.atlassian.com/public/</url> 
     <snapshots> 
      <enabled>true</enabled> 
      <updatePolicy>daily</updatePolicy> 
      <checksumPolicy>warn</checksumPolicy> 
     </snapshots> 
     <releases> 
      <enabled>true</enabled> 
      <checksumPolicy>warn</checksumPolicy> 
     </releases> 
    </repository> 
</repositories> 
+0

我綁了這一切,它並不能幫助。 1st JirarestClientFactory.createWithBasicHttpAuthentication interanly做exaclty相同,因爲我這樣做,我不重要的事情。 第二我試了也沒有運氣的最新版本。 我正在使用的第三個存儲庫在JRJC頁面上列出。 –

+0

@MarekDuciuc是的,如果你想正確閱讀,你會注意到JRJC網站很久沒有更新。您試圖在他們的網站上完成教程,但它是爲第一版JRJC編寫的。相信我,我測試了它,它只能通過https://maven.atlassian.com/public工作。 – TheRealNoXx

+0

嘗試切換到較新版本的jrjc並使用您的回購。仍然不起作用 –