将java类转换为groovy:groovy:array构造函数调用没有表达式
出于测试目的,我想尝试使用下面的java类。但我需要把它移植到groovy java类:将java类转换为groovy:groovy:array构造函数调用没有表达式,java,groovy,syntax,Java,Groovy,Syntax,出于测试目的,我想尝试使用下面的java类。但我需要把它移植到groovy java类: public class HttpsTrustManager implements X509TrustManager { private static TrustManager[] trustManagers; private static final X509Certificate[] _AcceptedIssuers = new X509Certificate[]{}; @Ov
public class HttpsTrustManager implements X509TrustManager {
private static TrustManager[] trustManagers;
private static final X509Certificate[] _AcceptedIssuers = new X509Certificate[]{};
@Override
public void checkClientTrusted(
X509Certificate[] x509Certificates, String s)
throws java.security.cert.CertificateException {
}
@Override
public void checkServerTrusted(
X509Certificate[] x509Certificates, String s)
throws java.security.cert.CertificateException {
}
public boolean isClientTrusted(X509Certificate[] chain) {
return true;
}
public boolean isServerTrusted(X509Certificate[] chain) {
return true;
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return _AcceptedIssuers;
}
public static void allowAllSSL() {
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String arg0, SSLSession arg1) {
return true;
}
});
SSLContext context = null;
if (trustManagers == null) {
trustManagers = new TrustManager[]{new HttpsTrustManager()};
}
try {
context = SSLContext.getInstance("TLS");
context.init(null, trustManagers, new SecureRandom());
} catch (NoSuchAlgorithmException | KeyManagementException e) {
e.printStackTrace();
}
HttpsURLConnection.setDefaultSSLSocketFactory(context != null ? context.getSocketFactory() : null);
}
}
当我将其移动到.groovy文件时,这一行出现以下错误:
private static final X509Certificate[] _AcceptedIssuers = new X509Certificate[]{};
if (trustManagers == null) {
trustManagers = new TrustManager[]{new HttpsTrustManager()};
}
错误:
Groovy:No expression for the array constructor call at line:
Groovy:No expression for the array constructor call at line:
这一行:
private static final X509Certificate[] _AcceptedIssuers = new X509Certificate[]{};
if (trustManagers == null) {
trustManagers = new TrustManager[]{new HttpsTrustManager()};
}
错误:
Groovy:No expression for the array constructor call at line:
Groovy:No expression for the array constructor call at line:
我移植的第一行如下:
private static final X509Certificate[] _AcceptedIssuers = [ new X509Certificate(){} ] as X509Certificate[]
但不是100%确定它是正确的。但我在第二行仍然有一个错误:
trustManagers = new TrustManager[]{new HttpsTrustManager()};
有什么想法吗?我们不能在Groovy中使用Java数组初始化语法 所以 是正确的 你也需要改变
trustManagers = new TrustManager[]{new HttpsTrustManager()};
到
我们不能在Groovy中使用Java数组初始化语法 所以 是正确的 你也需要改变
trustManagers = new TrustManager[]{new HttpsTrustManager()};
到
这里还有另一种情况,我想用bean.getXxx()方法在groovy中初始化数组。请您提供语法.modifiedScanner.setIncludes(新字符串[]{sqljFile.getName()})来帮助我现有的java代码try:modifiedScanner.include=[sqljFile.name]作为字符串[]我这里有另一种情况,我想用bean.getXxx()方法在groovy中初始化数组。请您提供语法帮助。modifiedScanner.setIncludes(新字符串[]{sqljFile.getName()})我现有的java代码try:modifiedScanner.include=[sqljFile.name]作为字符串[]