i found the root cause, it is my setting <exclusion> <groupId>org.noggit</groupId> <artifactId>noggit</artifactId> </exclusion>
It's has duplicate (version conflict) in my dependency. On Mon, Aug 27, 2018 at 11:22 AM yx zhou <zhouyua...@gmail.com> wrote: > Hi Steve > > Thank your reply. > My solr server is from > http://archive.apache.org/dist/lucene/solr/7.0.1/, and my SolrJ client > is > > <dependency> > <groupId>org.apache.solr</groupId> > <artifactId>solr-solrj</artifactId> > <version>7.0.1</version> > <exclusions> > <!-- Use jcl-over-slf4j from gremlin-core --> > <exclusion> > <groupId>org.slf4j</groupId> > <artifactId>jcl-over-slf4j</artifactId> > </exclusion> > <!-- Use noggit from janusgraph-core --> > <exclusion> > <groupId>org.noggit</groupId> > <artifactId>noggit</artifactId> > </exclusion> > </exclusions> > </dependency> > > > Thanks > > > On Fri, Aug 24, 2018 at 4:50 PM Steve Rowe <sar...@gmail.com> wrote: > >> 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); >> > } >> >>