2013-01-15 3 views
0

나머지 클라이언트 API를 사용하여 jira 문제를 만들 수 있지만 이전 JIRA 문제에 screeshot/attachment를 첨부 할 수 없습니다. 누군가가 정말 감사하게 될 해결책을 제공 할 수 있다면 정말 도움이 될 것입니다.rest-client API를 사용하여 기존 JIRA 문제에 첨부 파일을 추가하는 방법

기존 JIRA Issue에 jpeg 파일을 첨부하기위한 코드 스 니펫을 작성했습니다. 하지만 난 java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpConnectionManager"

코드 조각 ""스레드에서 예외 "주요 경험 : -

개인 정적 문자열 addAttachment (문자열 attachmentfilepath) URISyntaxException, FileNotFoundException이를 던졌습니다 {

final java.net.URI jiraServerUri = new java.net.URI("https://oliveits.atlassian.net"); 
    FileInputStream fileStreamPath = new FileInputStream(attachmentfilenamepath); 
    JerseyJiraRestClientFactory factory = new JerseyJiraRestClientFactory(); 
    NullProgressMonitor pm = new NullProgressMonitor(); 
    System.out.println("Server Url :"+jiraServerUri); 
    JiraRestClient restClient = factory.createWithBasicHttpAuthentication(jiraServerUri,"mobileqa","MobileQA1234"); 
    Issue issue1 = restClient.getIssueClient().getIssue(newKey, pm); 
    final java.net.URI AttachmentUri = new java.net.URI(jiraServerUri+"/rest/api/2/issue/"+newKey+"/attachments"); 
    System.out.println("URI :"+issue1.getAttachmentsUri()); 
    //restClient.getIssueClient().addAttachment(pm,issue1.getAttachmentsUri(), fileStreamPath , imageName); 
    restClient.getIssueClient().addAttachment(pm, AttachmentUri, fileStreamPath, imageName); 
    return attachmentfilepath; 
} 

예외 : -

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpConnectionManager 
at com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClientFactory.create(JerseyJiraRestClientFactory.java:34) 
at com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClientFactory.createWithBasicHttpAuthentication(JerseyJiraRestClientFactory.java:39) 
at com.jtricks.JTricksRESTClient.addAttachment(JTricksRESTClient.java:157) 
at com.jtricks.JTricksRESTClient.main(JTricksRESTClient.java:101) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.HttpConnectionManager 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
... 4 more 

방금 ​​누락 된 jar 파일을 클래스 경로에 추가했는데 아래에서 설명한 예외가 발생합니다.

Exception Msg-1 : com.sun.jersey.api.client.ClientHandlerException : Java 클래스 com.sun.jersey.multipart.MultiPart 및 Java 유형 클래스 com.sun.jersey.multipart의 메시지 본문 작성자입니다. MultiPart 및 MIME 미디어 유형 multipart/form-data; 경계 = Boundary_1_18541827_1358346116249를 찾을 수 없습니다

예외 메시지-2 : com.sun.jersey.api.client.ClientHandlerException : 자바 클래스 com.sun.jersey.multipart.MultiPart에 대한 메시지 본문 작가 및 Java 유형 클래스 COM. sun.jersey.multipart.MultiPart 및 MIME 미디어 유형 multipart/form-data; boundary = Boundary_1_18541827_1358346116249 찾지 못했습니다

답변

1

문제는 org.apache.commons.httpclient.HttpConnectionManager 클래스를 찾을 수 없기 때문에 발생합니다. 클래스 경로에서 commons-httpclient JAR을 찾으십시오.

+0

답장을 보내 주셔서 감사합니다. 방금 commons-httpclient jar 파일을 클래스 경로에 추가했습니다. 여전히 작동하지 않지만 다른 예외가 있습니다. –

+0

스레드 "main"의 예외 java.lang.NoClassDefFoundError : com/sun/jersey/client/apache/config/ApacheHttpClientConfig –

+0

이제 jersey-apache- 클라이언트 : http://mvnrepository.com/artifact/com.sun.jersey.contribs/jersey-apache-client/1.1.3-ea – Archer