Grails groovy找不到匹配的类构造函数问题(请参阅最后一条注释)

Grails groovy找不到匹配的类构造函数问题(请参阅最后一条注释),grails,groovy,Grails,Groovy,请参见对问题的最后评论: 以下代码已编译,但我不明白为什么会出现运行时错误: def sslContext = SSLContext.getInstance("SSL") ... SSLSocketFactory sf = new org.apache.http.conn.ssl.SSLSocketFactory(sslContext, org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER) 我有一

请参见对问题的最后评论:

以下代码已编译,但我不明白为什么会出现运行时错误:

 def sslContext = SSLContext.getInstance("SSL")
   ...
 SSLSocketFactory sf = new org.apache.http.conn.ssl.SSLSocketFactory(sslContext, org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)
我有一份进口声明:

import org.apache.http.conn.ssl.SSLSocketFactory
以及在网上搜索

我看到其中一个构造函数已被弃用,即

 SSLSocketFactory(SSLContext sslContext, HostNameResolver nameResolver)
但是有

 SSLSocketFactory(SSLContext sslContext, X509HostnameVerifier hostnameVerifier)
这不是很好吗?请注意,如果我删除第二个构造函数参数,则不会出现此错误

运行grails 2.2.3时出现的错误是:

Class: groovy.lang.GroovyRuntimeException
Message: Could not find matching constructor for: org.apache.http.conn.ssl.SSLSocketFactory(javax.net.ssl.SSLContext, org.apache.http.conn.ssl.AllowAllHostnameVerifier)

请参阅问题中可能有帮助的进一步澄清,即,请注意,如果我删除第二个构造函数参数,则不会出现此错误。但我相信我需要第二个构造函数参数来实现这段代码的目的,所以您意识到这与Grails或Groovy无关吗?只是说你可以在适当的标签上得到更好的帮助。James——为什么这不是一个Groovy问题?你是说Groovy在运行时错误报告方面是正确的,这个构造函数确实不存在,所以这是Java的问题吗?所以Codelark帮助我指出,我可以使用单参数构造函数,然后调用来设置hostnameVerifier,即sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)。这是可行的,所以我可以不让构造函数工作,但保留这个问题,因为可能有人即将解决它。我说这不是groovy问题,因为它不是groovy类。我想Groovy中可能有一个bug导致了这个问题,但这似乎不太可能。