我正在使用groovy http-builder并使用RestClient从JIRA访问Web服务。
在开发模式下,它工作正常,但是当我在Tomcat服务器上部署war时,它将抛出异常
"org.apache.commons.collections.map.ListOrderedMap: method ()V not found. Stacktrace follows: org.codehaus.groovy.grails.web.servlet.mvc.exceptions.ControllerExecutionException: Executing action [list] of controller [com.tristar.JiraController] caused exception: Runtime error executing action at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.codehaus.groovy.grails.web.servlet.mvc.exceptions.ControllerExecutionException: Runtime error executing action ... 3 more Caused by: java.lang.reflect.InvocationTargetException ... 3 more Caused by: java.lang.NoSuchMethodError: org.apache.commons.collections.map.ListOrderedMap: method ()V not found at net.sf.json.JSONObject.(JSONObject.java:1603) at groovyx.net.http.EncoderRegistry.encodeJSON(EncoderRegistry.java:301) at groovyx.net.http.HTTPBuilder$RequestConfigDelegate.setBody(HTTPBuilder.java:1200) at groovyx.net.http.HTTPBuilder$RequestConfigDelegate.setPropertiesFromMap(HTTPBuilder.java:1111) at groovyx.net.http.HTTPBuilder$RequestConfigDelegate.(HTTPBuilder.java:946) at groovyx.net.http.RESTClient.post(RESTClient.java:140) at com.tristar.JiraController.list(JiraController.groovy:221) "
def jiraApiUrl = 'http://ipAddress:8080/rest/api/2/' def jiraClient = new RESTClient(jiraApiUrl) def searchResults = jiraClient.post(requestContentType: JSON, path: 'search', body: [jql: "project=XYZ AND (status=Open OR status='In Progress') AND issuetype!=Epic AND issuetype!='Technical task'", startAt: offset, maxResults: params.max, fields: ['summary', 'description','issuetype']])
如何解决此问题?
最佳答案
我在构建配置中添加了这些依赖项
compile 'com.atlassian.jira:jira-rest-java-client-api:2.0.0-m25'
compile 'com.atlassian.jira:jira-rest-java-client-core:2.0.0-m25'
和使用
AsynchronousJiraRestClientFactory factory = new AsynchronousJiraRestClientFactory()
def jiraServerUri = URI.create("ipaddress")
JiraRestClient restClient = factory.createWithBasicHttpAuthentication(jiraServerUri, "username", "password")
进行身份验证并获取RestClient对象
关于grails - 使用RESTClient进行Grails和Jira集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24664498/