Hi, SchemaRequestJSONWriter class was removed in SOLR-12455[1], but this change has not been released yet (will be released with Solr 7.5). I’m guessing you’re using code built against branch_7x or master? If so, then one solution is to build against the released source for any 7.x version.
[1] https://issues.apache.org/jira/browse/SOLR-12455 -- Steve www.lucidworks.com > On Aug 24, 2018, at 6:47 PM, yx zhou <zhouyua...@gmail.com> wrote: > > Got the following errow when i try to delete a field with Schema API, on > Solr 7.0.1, cloud model > > java.lang.NoSuchMethodError: > org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.writeString(Ljava/lang/String;)V > > at > org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.write(SchemaRequest.java:824) > at > org.apache.solr.client.solrj.request.schema.SchemaRequest$Update.getContentStreams(SchemaRequest.java:711) > at > org.apache.solr.client.solrj.request.RequestWriter.getContentStreams(RequestWriter.java:51) > at > org.apache.solr.client.solrj.impl.BinaryRequestWriter.getContentStreams(BinaryRequestWriter.java:53) > at > org.apache.solr.client.solrj.impl.HttpSolrClient.createMethod(HttpSolrClient.java:330) > at > org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:251) > at > org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:242) > at > org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:483) > at > org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:413) > at > org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1121) > at > org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:862) > at > org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:793) > at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:178) > at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:195) > at org.janusgraph.diskstorage.solr.SolrUtil.deleteField(SolrUtil.java:286) > at org.janusgraph.diskstorage.solr.SolrUtil.fieldsSync(SolrUtil.java:249) > > My code is > > public static void deleteField(CloudSolrClient client, String > collection, String fieldName) > throws IOException, SolrServerException { > SchemaRequest.DeleteField deleteFieldRequest = new > SchemaRequest.DeleteField(fieldName); > > client.setDefaultCollection(collection); > SchemaResponse.UpdateResponse deleteFieldResponse = > deleteFieldRequest.process(client); > }