Java JIRA REST客户端:can';不要发送附件
问题:通过jira rest客户端向jira发送附件时出现异常(见下面的stacktrace) 重要强>Java JIRA REST客户端:can';不要发送附件,java,maven,jira,jira-rest-java-api,jira-rest-api,Java,Maven,Jira,Jira Rest Java Api,Jira Rest Api,问题:通过jira rest客户端向jira发送附件时出现异常(见下面的stacktrace) 重要 通过Jira在本地主机上启动应用程序时效果良好 它在环境中不起作用,或者如果通过mvncleanpackage命令创建一个jar,然后通过'java-jar.jar'命令启动,它就不起作用了 问题:原因是什么?我应该试试什么 代码: public static void handleProfileAttachments(Profile profile, JiraRestClient restCl
mvncleanpackage
命令创建一个jar,然后通过'java-jar.jar'命令启动,它就不起作用了李>
问题:原因是什么?我应该试试什么
代码:
public static void handleProfileAttachments(Profile profile, JiraRestClient restClient, BasicIssue issue, ProgressMonitor pm) {
List<FileInfo> attachments = profile.getFiles();
if (attachments != null && !attachments.isEmpty()) {
addAttachmentToIssue(restClient, issue.getKey(), attachments, pm);
}
}
private static void addAttachmentToIssue(JiraRestClient restClient, String issueKey, List<FileInfo> attachments, ProgressMonitor pm) {
FileInfo attachment = attachments.get(attachments.size() - 1);
restClient.getIssueClient().addAttachment(pm, getIssue(restClient, issueKey, pm).getAttachmentsUri(),
new ByteArrayInputStream(attachment.getFileContent().getContent()), attachment.getFileName() + "." + attachment.getFileExtension());
}
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client</artifactId>
<version>1.1-m02</version>
</dependency>
publicstaticvoid handleProfileAttachments(配置文件配置文件、JiraRestClient restClient、BasicIssue问题、ProgressMonitor pm){
列表附件=profile.getFiles();
if(attachments!=null&&!attachments.isEmpty()){
addAttachmentToIssue(restClient,issue.getKey(),attachments,pm);
}
}
私有静态void addAttachmentToIssue(JiraRestClient restClient、字符串issueKey、列表附件、ProgressMonitor pm){
FileInfo attachment=attachments.get(attachments.size()-1);
restClient.getIssueClient().addAttachment(pm,getIssue(restClient,issueKey,pm)。getAttachmentsUri(),
新的ByteArrayInputStream(attachment.getFileContent().getContent()),attachment.getFileName()+““+”attachment.getFileExtension());
}
依赖关系:
public static void handleProfileAttachments(Profile profile, JiraRestClient restClient, BasicIssue issue, ProgressMonitor pm) {
List<FileInfo> attachments = profile.getFiles();
if (attachments != null && !attachments.isEmpty()) {
addAttachmentToIssue(restClient, issue.getKey(), attachments, pm);
}
}
private static void addAttachmentToIssue(JiraRestClient restClient, String issueKey, List<FileInfo> attachments, ProgressMonitor pm) {
FileInfo attachment = attachments.get(attachments.size() - 1);
restClient.getIssueClient().addAttachment(pm, getIssue(restClient, issueKey, pm).getAttachmentsUri(),
new ByteArrayInputStream(attachment.getFileContent().getContent()), attachment.getFileName() + "." + attachment.getFileExtension());
}
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client</artifactId>
<version>1.1-m02</version>
</dependency>
泽西岛
泽西json
1.18.1
com.sun.jersey.contribs
泽西多部分
1.18.1
com.atlassian.jira
jira rest java客户端
1.1-m02
Stacktrace
com.atlassian.jira.rest.client.RestClientException: com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java class com.sun.jersey.multipart.MultiPart, and Java type class com.sun.jersey.multipart.MultiPart, and MIME media type multipart/f
orm-data; boundary=Boundary_2_61827_1394804460392 was not found
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:75)
at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.addAttachments(JerseyIssueRestClient.java:345)
at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.addAttachment(JerseyIssueRestClient.java:338)
at com.levi9.levirs.jiraexport.JiraExportService.addAttachmentToIssue(JiraExportService.java:140)
at com.levi9.levirs.jiraexport.JiraExportService.handleProfileAttachments(JiraExportService.java:227)
at com.levi9.levirs.jiraexport.JiraExportService.updateIssueAttachment(JiraExportService.java:221)
at com.levi9.levirs.communication.file.FileRequestHandler$Update.saveSession(FileRequestHandler.java:112)
at com.levi9.levirs.communication.file.FileRequestHandler$Update.handle(FileRequestHandler.java:88)
at com.levi9.levirs.core.Peer.onWebSocketText(Peer.java:33)
at org.eclipse.jetty.websocket.common.events.ListenerEventDriver.onTextMessage(ListenerEventDriver.java:127)
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
at org.eclipse.jetty.websocket.common.events.ListenerEventDriver.onTextFrame(ListenerEventDriver.java:119)
at org.eclipse.jetty.websocket.common.events.EventDriver.incomingFrame(EventDriver.java:127)
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:203)
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:200)
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:237)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.read(AbstractWebSocketConnection.java:551)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:459)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:596)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:527)
at java.lang.Thread.run(Unknown Source)
Caused by: com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java class com.sun.jersey.multipart.MultiPart, and Java type class com.sun.jersey.multipart.MultiPart, and MIME media type multipart/form-data; boundary=Boundary_2_61827_13948
04460392 was not found
at com.sun.jersey.api.client.RequestWriter$RequestEntityWriterImpl.<init>(RequestWriter.java:198)
at com.sun.jersey.api.client.RequestWriter.getRequestEntityWriter(RequestWriter.java:259)
at com.sun.jersey.client.apache.DefaultApacheHttpMethodExecutor.executeMethod(DefaultApacheHttpMethodExecutor.java:121)
at com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:175)
at com.sun.jersey.api.client.Client.handle(Client.java:629)
at com.sun.jersey.api.client.WebResource.voidHandle(WebResource.java:625)
at com.sun.jersey.api.client.WebResource.access$400(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:495)
at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.postFileMultiPart(JerseyIssueRestClient.java:413)
at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.access$300(JerseyIssueRestClient.java:85)
at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient$9.call(JerseyIssueRestClient.java:359)
at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient$9.call(JerseyIssueRestClient.java:345)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:54)
... 22 more
com.atlassian.jira.rest.client.RestClientException:com.sun.jersey.api.client.ClientHandlerException:Java类com.sun.jersey.multipart.multipart和Java类型类com.sun.jersey.multipart.multipart的消息体编写器和MIME媒体类型multipart/f
orm数据;边界=未找到边界\u 2 \u 61827 \u 1394804460392
位于com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:75)
位于com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.addAttachments(JerseyIssueRestClient.java:345)
位于com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.addAttachment(JerseyIssueRestClient.java:338)
在com.levi9.levis.jiraexport.JiraExportService.addAttachmentToIssue上(JiraExportService.java:140)
位于com.levi9.levis.jiraexport.JiraExportService.handleProfileAttachments(JiraExportService.java:227)
位于com.levi9.levis.jiraexport.JiraExportService.updateisueattachment(JiraExportService.java:221)
位于com.levi9.levis.communication.file.FileRequestHandler$Update.saveSession(FileRequestHandler.java:112)
在com.levi9.levis.communication.file.FileRequestHandler$Update.handle(FileRequestHandler.java:88)上
在com.levi9.levis.core.Peer.onWebSocketText(Peer.java:33)
位于org.eclipse.jetty.websocket.common.events.ListenerEventDriver.onTextMessage(ListenerEventDriver.java:127)
位于org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
位于org.eclipse.jetty.websocket.common.events.ListenerEventDriver.onTextFrame(ListenerEventDriver.java:119)
位于org.eclipse.jetty.websocket.common.events.EventDriver.incomingFrame(EventDriver.java:127)
位于org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
位于org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:203)
位于org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:200)
位于org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:237)
位于org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.read(AbstractWebSocketConnection.java:551)
位于org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:459)
位于org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)
位于org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:596)
位于org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:527)
位于java.lang.Thread.run(未知源)
原因:com.sun.jersey.api.client.clienthandler异常:Java类com.sun.jersey.multipart.multipart和Java类型类com.sun.jersey.multipart.multipart以及MIME媒体类型multipart/表单数据的消息体编写器;边界=边界\u 2 \u 61827 \u 13948
找不到04460392
位于com.sun.jersey.api.client.RequestWriter$RequestEntityWriterImpl.(RequestWriter.java:198)
位于com.sun.jersey.api.client.RequestWriter.getRequestEntityWriter(RequestWriter.java:259)
位于com.sun.jersey.client.apache.DefaultApacheHttpMethodexecuteMethod(DefaultApacheHttpMethodExecutor.java:121)
位于com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:175)
位于com.sun.jersey.api.client.client.handle(client.java:629)
位于com.sun.jersey.api.client.WebResource.voidHandle(WebResource.java:625)
com.sun.jersey.api.client.WebResource.access$400(WebResource.java:74)
com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:495)
位于com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.postFileMultiPart(JerseyIssueRestClient.java:413)
在com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.access$300(JerseyIssueRestClient.java:85)
在com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient$9.call(JerseyIssueRestClient.java:359)
在com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient$9.call(JerseyIssueRestClient.java:345)
位于com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:54)
... 还有22个