线程“main”中的异常 java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET

2023-12-29

您好,我尝试从 java 应用程序中的 solr 数据库中索引一行。我已经添加了必要的罐子,但我不断收到此错误。我的 solr 模式是正确的,我发出请求只是将新行添加到我的数据库中,我也希望它被索引

这是错误

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET
    at org.apache.http.impl.client.DefaultHttpClient.setDefaultHttpParams(DefaultHttpClient.java:175)
    at org.apache.http.impl.client.DefaultHttpClient.createHttpParams(DefaultHttpClient.java:158)
    at org.apache.http.impl.client.AbstractHttpClient.getParams(AbstractHttpClient.java:448)
    at org.apache.solr.client.solrj.impl.HttpClientUtil.setFollowRedirects(HttpClientUtil.java:223)
    at org.apache.solr.client.solrj.impl.HttpClientConfigurer.configure(HttpClientConfigurer.java:58)
    at org.apache.solr.client.solrj.impl.HttpClientUtil.configureClient(HttpClientUtil.java:115)
    at org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:105)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.<init>(HttpSolrServer.java:155)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.<init>(HttpSolrServer.java:128)
    at tan.indexSolr.<init>(indexSolr.java:195)
    at tan.indexSolr.main(indexSolr.java:51)

这是我的代码

    public class indexSolr {
    private  Connection conn = null;
    private static HttpSolrServer  server;
      private Collection docs = new ArrayList();
      private int _totalSql = 0;
      private long _start = System.currentTimeMillis();


    public static void main(String[] args) throws SolrServerException, IOException, SQLException
    { String url = "http://localhost:8983/solr/db";



  indexSolr idxer = new indexSolr(url);

  idxer.doSqlDocuments();

  idxer.endIndexing();




    }

    private void doSqlDocuments() throws SQLException {

        try {
            Class.forName("org.postgresql.Driver");

            conn = DriverManager.getConnection(
                    "jdbc:postgresql://localhost:5432/biz_cat",
                    "postgres", "pos");
            java.sql.Statement st = null;
           st = conn.createStatement();
           ResultSet rs =   st.executeQuery("select * from pl_biz order by id DESC LIMIT 1");

          while (rs.next()) {

            SolrInputDocument doc = new SolrInputDocument();

            Integer  id = rs.getInt("id");
            String name = rs.getString("name");
            String midname = rs.getString("midname");
            String lastname = rs.getString("lastname");
            String frlsname = rs.getString("frlsname");
            String biz_subject = rs.getString("biz_subject");
            String company_type = rs.getString("company_type");
            String obshtina = rs.getString("obshtina");
            String main_office_town = rs.getString("main_office_town");
            String address = rs.getString("address");
            String role = rs.getString("role");
            String country = rs.getString("country");
            String nace_code = rs.getString("nace_code");
            String nace_text = rs.getString("nace_text");
            String zip_code = rs.getString("zip_code");
            String phone = rs.getString("phone");
            String fax = rs.getString("fax");
            String email = rs.getString("email");
            String web = rs.getString("web");
            String location = rs.getString("location");
            String geohash = rs.getString("geohash");
            Integer popularity = rs.getInt("popularity");

            doc.addField("id", id);
            doc.addField("name", name);
            doc.addField("midname", midname);
            doc.addField("lastname", lastname);
            doc.addField("frlsname", frlsname);
            doc.addField("biz_subject", biz_subject);
            doc.addField("company_type", company_type);
            doc.addField("obshtina", obshtina);
            doc.addField("main_office_town", main_office_town);
            doc.addField("address", address);
            doc.addField("role", role);
            doc.addField("country", country);
            doc.addField("nace_code", nace_code);
            doc.addField("nace_text", nace_text);
            doc.addField("zip_code", zip_code);
            doc.addField("phone", phone);
            doc.addField("fax", fax);
            doc.addField("email", email);
            doc.addField("web", web);
            doc.addField("location", location);
            doc.addField("geohash", geohash);
            doc.addField("popularity", popularity);


            docs.add(doc);
             ++_totalSql;


            if (docs.size() > 1) {
                 // Commit within 5 minutes.
                UpdateResponse resp = server.add(docs);
                System.out.println (resp);
              if (resp.getStatus() != 0) {
                log("Some horrible error has occurred, status is: " +
                      resp.getStatus());
              }
              docs.clear();
            }
          }
        }
        catch (Exception ex)
        {
          ex.printStackTrace();
        }
        finally {
          if (conn != null) {
            conn.close();
          }
        }


    }

     private void endIndexing() throws IOException, SolrServerException {
            if (docs.size() > 0) { // Are there any documents left over?
              server.add(docs, 300000); // Commit within 5 minutes
            }
            try 
            {
            server.commit(); 

            }
            catch (Exception ex)
            {

                ex.printStackTrace();
            }


            long endTime = System.currentTimeMillis();
            log("Total Time Taken: " + (endTime - _start) +
                 " milliseconds to index " + _totalSql +
                " SQL rows" );
          }


          private static void log(String msg) {
            System.out.println(msg);
          }


          private indexSolr(String url) throws IOException, SolrServerException {
              // Create a multi-threaded communications channel to the Solr server.
          try {    
            server = new HttpSolrServer(url);

            server.setSoTimeout(1000);  // socket read timeout
            server.setConnectionTimeout(1000);
            server.setMaxRetries(1); 


          }
               catch (Exception ex)
               {

                   ex.printStackTrace();

               }
          }

}

这个答案取自 @Pace 20 日的评论 2013年4月

我已将其标记为社区 wiki 帖子,按照建议没有答案的问题,但问题已在评论中解决 https://meta.stackoverflow.com/questions/251597/question-with-no-answers-but-issue-solved-in-the-comments.


NoSuchFieldError 几乎总是由不兼容的版本引起的。

您有什么版本的 HttpClient?你使用Maven吗?您是否可能有多个版本的 HttpClient?
检查这些事情,你应该找到答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

线程“main”中的异常 java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET 的相关文章

  • “java.io.IOException:连接超时”和“SocketTimeoutException:读取超时”之间有什么区别

    如果我设置一个套接字 SoTimeout 并从中读取 当读取时间超过超时限制时 我会收到 SocketTimeoutException 读取超时 这是我的例子中的堆栈 java net SocketTimeoutException Read
  • 获取文件的锁

    我想在对特定文件开始 threo read 时获取文件上的锁定 以便其他应用程序无法读取已锁定的文件并希望在线程终止时释放锁定文件 您可以获得一个FileLock https docs oracle com javase 8 docs ap
  • Java 7 默认语言环境

    我刚刚安装了 jre7 我很惊讶地发现我的默认区域设置现在是 en US 对于jre6 它是de CH 与jre7有什么不同 默认区域设置不再是操作系统之一吗 顺便说一句 我使用的是Windows7 谢谢你的回答 编辑 我已经看到了语言环境
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • (Java) App Engine 中的静态文件无法访问

    The 示例文档 http code google com appengine docs java gettingstarted staticfiles html表示您只需将文件放在 war 或子目录 中 并且应该可以从主机访问它们 只要它
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有
  • Logback:SizeAndTimeBasedRollingPolicy 不遵守totalSizeCap

    我正在尝试以一种方式管理我的日志记录 一旦达到总累积大小限制或达到最大历史记录限制 我最旧的存档日志文件就会被删除 当使用SizeAndTimeBasedRollingPolicy在 Logback 1 1 7 中 滚动文件追加器将继续创建
  • 在 Struts 2 中传递 URL 参数而不使用查询字符串

    我想使用类似的 URL host ActionName 123 abc 而不是像这样传递查询字符串 host ActionName parm1 123 parm2 abc 我怎样才能在 Struts 2 中做到这一点 我按照下面的方法做了
  • 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

    我正在寻找一个用于大容量网络应用程序的 GZIP servlet 过滤器 我不想使用容器特定的选项 要求 能够压缩响应负载 XML Faster 已在大批量应用的生产中得到验证 应适当设置适当内容编码 跨容器移植 可选择解压缩请求 谢谢 我
  • 如何在java Spring Boot中实现通用服务类?

    我有许多具有重复代码的服务 我想知道如何实现通用服务 以便我的所有服务都可以扩展它 服务接口示例 重复代码 Service public interface IUserService List
  • 为自定义驱动程序创建 GraphicsDevice

    我正在开发一个在嵌入式系统中使用 Java 的项目 我有用于屏幕和触摸输入的驱动程序 以及用于文本输入的虚拟键盘 我的屏幕驱动程序有一个Graphics2D您可以绘制的对象和repaint Rectangle 更新方法 类似地 触摸驱动器能
  • Java中的断点和逐步调试?

    抱歉我的问题名称很奇怪 我不知道如何寻找这个 因为我不知道这些东西是如何称呼的 Visual Studio 中至少有一个功能 您可以单击代码左侧并设置一个大红点的起点 然后运行程序 您可以通过按 f8 或 f5 实际上是不同的 f 来跟踪步
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • 从休眠乐观锁定异常中恢复

    我有一个这样的方法 Transactional propagation Propagation REQUIRES NEW public void doSomeWork Entity entity dao loadEntity do some
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • Karaf / Maven - 无法解决:缺少需求 osgi.wiring.package

    我无法在 Karaf 版本 3 0 1 中启动捆绑包 该包是使用 Maven 构建的并导入gson http mvnrepository com artifact com google code gson gson 2 3 1 我按照要求将
  • 如何从 Ant 启动聚合 jetty-server JAR?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 如何处理 StaleElementReferenceException

    我正在为鼠标悬停工作 我想通过使用 for 循环单击每个链接来测试所有链接的工作条件 在我的程序中 迭代进行一次 而对于下一次迭代 它不起作用并显示 StaleElementReferenceException 如果需要 请修改代码 pub
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring

随机推荐

  • 实体框架是否与 SQL Server 绑定?

    如果我想连接到 Oracle MySQL 甚至 MS Access 怎么办 不 它使用 ADO Net 提供程序 模型插入数据库提供程序以提供对任何第三方数据库的访问 可用列表第三方 EF 提供商在这里 http msdn microsof
  • 进入前台时的 UIRefreshControl 错误

    当我使用时我注意到一个小错误 但真的很烦人 UIRefreshControl在我的视图控制器中 当应用程序从后台返回时UIRefreshControl已经加载 看起来像这样 正如你所看到的 我使用了一个自定义导航控制器 它像 Faceboo
  • 为什么 Google 云端硬盘返回“无法解析内容范围标头。”?

    这是我的简单代码 用于恢复 可能 中断的 Google Drive 上传 Using message New ByteArrayContent New Byte message Headers ContentRange New Header
  • 从左到右表达式求值

    在 C 中 是否保证表达式从左到右计算 例如 myClass GetClass if myClass null myClass Property gt 0 continue 是否存在不符合规定的语言 您实际上指的是一种称为 短路逻辑表达式
  • 如何拥有与 OnPropertyChanged 一起使用的 UserControl 的可绑定属性

    我有一个带有一些公共属性的简单用户控件 WinForms 当我使用此控件时 我想将 DataSourceUpdateMode 设置为的数据绑定到这些属性属性改变时 数据源是一个实现 INotifyPropertyChanged 的 类 我知
  • 如何使用 Django 智能选择来过滤 ManyToManyField?

    class Course models Model course code models CharField max length 100 unique True title models CharField max length 200
  • 插入数据库时​​对密码进行哈希加密

    我正在为学校做一个应用程序 在将密码插入我的用户数据库时需要加密密码的帮助 我正在使用 C 编程语言进行编程 并且使用 MS server 2008 R2 来操作我的数据库 我正在考虑进行哈希加密 如果有人帮助我 我会很高兴 这是我将数据插
  • 查找 System.AccessViolationException 的原因

    我们的应用程序遇到了奇怪的致命 System AccessViolationException 当我们配置 AppDomain CurrentDomain UnhandledException 事件来记录异常时 我们会看到这些 Except
  • 这个 PHP 代码安全吗?

    只是一个简单的问题 以下 PHP 代码安全吗 还有什么你认为我可以或应该补充的吗 post GET post if is numeric post post mysql real escape string post else die NA
  • C# 将一个字符串的一部分复制到另一个字符串

    我正在尝试将文本框的部分文本复制到另一个字符串 例如 如果我的文本框包含 10 个字符 我想将字符 3 到字符 7 复制到另一个名为 TEST 的字符串 我们该怎么做呢 when textbox contains ABCDEFGHIJ th
  • 从 R 中的一系列情节创建电影 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有一种简单的方法可以通过在 R 中将多个情节拼接在一起来创建 电影 这是我使用 R 帮助找到的一种方法 要创建单独的图像帧 jpe
  • 写入 log4net FileAppender 时存在多线程性能问题

    TickZoom 是一款非常高性能的应用程序 它使用自己的并行化库和多个操作系统线程来平滑地利用多核计算机 该应用程序遇到了瓶颈 用户需要从单独的操作系统线程将信息写入 LogAppender FileAppender 使用 Minimal
  • hide() 单选按钮*和*它在 jquery 中的文本标签

    我正在回顾最近的一个项目 解决可访问性问题 并确保所有表单元素都有标签 将标签文本放入标签中会导致我之前编写的一些笨拙代码出现问题 基本上 如果您有一个单选按钮及其标签
  • R 将正数和负数的 $xxx.xx 更改为 xxx.xx 但不舍入

    我有一个 df 其中第 2 列及以后的列是美元金额 例如 1004 23 1482 40 2423 94 等 类似于下面的示例 gt df id desc price 1 0 apple 1 00 2 1 banana 2 25 3 2 g
  • 从 C# 调用时将记录选项返回为 null

    是否有可能返回record option从 F 到 C 的值作为空值 我想将一些逻辑封装在 F 程序集中 并尽可能多地隐藏在外观后面 对 C 来说更自然 这是一些综合示例 type Data DataField1 int DataField
  • 用于信标的 CoreBluetooth

    我有一个需要信标范围的项目 我查看了很多示例代码 它们都使用CLLocationManager and CLBeaconRegion 我的问题是didRangeBeacons每秒仅调用一次回调 尽管我没有找到任何专门针对信标的代码示例 但我
  • 如何在没有完成块的情况下在 NSURLSession 中获取服务器响应数据

    我在用NSURLSession用于背景图片上传 根据上传的图像 我的服务器给了我响应 我确实在我的应用程序中进行了相应的更改 但是当我的应用程序在后台上传图像时 我无法获得服务器响应 因为没有完成块 有没有办法在不使用完成块的情况下获得响应
  • iPhone 应用程序转换为 iPad? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想将我的应用程序转换为通用应用程序 谁能推荐一些好的教程来实现这一目标 我需要将 Interface
  • Node JS 插件 - NAN 与 N-API? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一个使用 Node js 插件和 C 的项目 我遇到了两个可以使用的抽象库 NAN 和 N API 但是我无法决定应该使用哪一个
  • 线程“main”中的异常 java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET

    您好 我尝试从 java 应用程序中的 solr 数据库中索引一行 我已经添加了必要的罐子 但我不断收到此错误 我的 solr 模式是正确的 我发出请求只是将新行添加到我的数据库中 我也希望它被索引 这是错误 SLF4J Failed to