cocalele / PureFlash

A ServerSAN storage system designed for flash device
GNU General Public License v3.0
101 stars 29 forks source link

pfcli return “NoSuchMethodError” #20

Closed qiyuanzhi closed 11 months ago

qiyuanzhi commented 2 years ago

when i deploy a testing environment on my CentOS-8 VM, and use "pfcli delete_volume -v test" to delete a volume, it return error:

Exception in thread "main" java.lang.NoSuchMethodError: java.net.URLEncoder.encode(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
    at com.netbric.s5.conductor.rpc.SimpleHttpRpc.invokeConductor(SimpleHttpRpc.java:73)
    at com.netbric.s5.cli.CliMain.lambda$main$0(CliMain.java:102)
    at com.netbric.s5.cli.CliMain.main(CliMain.java:181)

it may caused by different version of Package java.net. And can be fixed by change the param of URLEncoder.encode:

- sb.append("&").append(args[i]).append("=").append(URLEncoder.encode(args[i+1].toString(), StandardCharsets.UTF_8));
+ sb.append("&").append(args[i]).append("=").append(URLEncoder.encode(args[i+1].toString(), "UTF-8"));

or using the right version. https://nowjava.com/docs/java-jdk-14/api/java.base/java/net/URLEncoder.html