elasticsearch-sql icon indicating copy to clipboard operation
elasticsearch-sql copied to clipboard

提示错误:Caused by: java.lang.ClassNotFoundException: org.elasticsearch.xpack.client.PreBuiltXPackTransportClient

Open chencore opened this issue 5 years ago • 1 comments

ES版本7.7.1

public static void main(String[] args) throws Exception {
        Properties properties = new Properties();
        properties.put("url", "jdbc:elasticsearch://localhost:9200/");
        DruidDataSource dds = (DruidDataSource) ElasticSearchDruidDataSourceFactory
                .createDataSource(properties);
        dds.setInitialSize(1);
        Connection connection = dds.getConnection();
        String sql2 = "select * FROM ck_index limit 10";
        PreparedStatement ps = connection.prepareStatement(sql2);
        ResultSet resultSet = ps.executeQuery();
        while (resultSet.next()) {
            //sql对应输出
            System.out.println(resultSet.getString("info.url") );

        }
        ps.close();
        connection.close();
        dds.close();
    }

pom文件:

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>
        <dependency>
            <groupId>org.nlpcn</groupId>
            <artifactId>elasticsearch-sql</artifactId>
            <version>7.8.0.1</version>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.8.1</version>
        </dependency>

错误信息:

ERROR ElasticSearchDruidDataSource {dataSource-1} init error
 java.lang.NoClassDefFoundError: org/elasticsearch/xpack/client/PreBuiltXPackTransportClient
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.createPhysicalConnection(ElasticSearchDruidDataSource.java:1034)
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.createPhysicalConnection(ElasticSearchDruidDataSource.java:976)
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.init(ElasticSearchDruidDataSource.java:878)
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.getConnection(ElasticSearchDruidDataSource.java:1300)
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.getConnection(ElasticSearchDruidDataSource.java:1296)
	at com.transfar.flink.Demo2.main(Demo2.java:20)
Caused by: java.lang.ClassNotFoundException: org.elasticsearch.xpack.client.PreBuiltXPackTransportClient
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 6 more
Exception in thread "main" java.lang.NoClassDefFoundError: org/elasticsearch/xpack/client/PreBuiltXPackTransportClient
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.createPhysicalConnection(ElasticSearchDruidDataSource.java:1034)
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.createPhysicalConnection(ElasticSearchDruidDataSource.java:976)
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.init(ElasticSearchDruidDataSource.java:878)
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.getConnection(ElasticSearchDruidDataSource.java:1300)
	at com.alibaba.druid.pool.ElasticSearchDruidDataSource.getConnection(ElasticSearchDruidDataSource.java:1296)
	at com.transfar.flink.Demo2.main(Demo2.java:20)
Caused by: java.lang.ClassNotFoundException: org.elasticsearch.xpack.client.PreBuiltXPackTransportClient
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 6 more

chencore avatar Feb 05 '21 01:02 chencore

<dependency>
  <groupId>org.elasticsearch.client</groupId>
  <artifactId>x-pack-transport</artifactId>
  <version>${elasticsearch.version}</version>
</dependency>

shi-yuan avatar Feb 05 '21 07:02 shi-yuan