Java 固定和#x27;NoClassDefFoundError:org/apache/curator/RetryPolicy';专家
我目前正在尝试使用配置单元jdbc连接到配置单元数据库。我有一个DataSource对象,我使用的是NamedParameterJdbcTemplate对象 数据源对象如下所示:Java 固定和#x27;NoClassDefFoundError:org/apache/curator/RetryPolicy';专家,java,maven,hive,spring-jdbc,jdbctemplate,Java,Maven,Hive,Spring Jdbc,Jdbctemplate,我目前正在尝试使用配置单元jdbc连接到配置单元数据库。我有一个DataSource对象,我使用的是NamedParameterJdbcTemplate对象 数据源对象如下所示: DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("org.apache.hive.jdbc.HiveDriver"); dat
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.apache.hive.jdbc.HiveDriver");
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
我的查询执行如下所示:
try {
return namedParameterJdbcTemplate.queryForObject(
SQL_STRING,
parameters,
eventProcessorMonthlyStatsSumPerDayRowMapper
);
} catch (EmptyResultDataAccessException e){
return null;
}
但由于某种原因,我得到了一个NoClassDefFound错误
java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy
at org.apache.hive.jdbc.Utils.extractURLComponents(Utils.java:472)
at org.apache.hive.jdbc.Utils.parseURL(Utils.java:332)
at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:168)
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:155)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:146)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:169)
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:612)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:694)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:748)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:236)
...
Caused by: java.lang.ClassNotFoundException: org.apache.curator.RetryPolicy
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 71 more
java.lang.NoClassDefFoundError:org/apache/curator/RetryPolicy
位于org.apache.hive.jdbc.Utils.extractURLComponents(Utils.java:472)
位于org.apache.hive.jdbc.Utils.parseURL(Utils.java:332)
位于org.apache.hive.jdbc.HiveConnection(HiveConnection.java:168)
位于org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.sql.DriverManager.getConnection(DriverManager.java:208)
位于org.springframework.jdbc.datasource.DriverManager数据源.getConnectionFromDriverManager(DriverManager数据源.java:155)
位于org.springframework.jdbc.datasource.driverManager数据源.getConnectionFromDriver(driverManager数据源.java:146)
位于org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205)
位于org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:169)
位于org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158)
位于org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116)
位于org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
位于org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:612)
位于org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)
位于org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:694)
位于org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:748)
位于org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:236)
...
原因:java.lang.ClassNotFoundException:org.apache.curator.RetryPolicy
位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 71多
从我对StackOverflow的其他回应以及基本逻辑来看,我缺少了“curator client”中“RetryPolicy”的依赖性。因此,我将依赖项添加到我的pom文件中:
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>3.0.0</version>
</dependency>
org.apache.curator
馆长客户
3.0.0
org.apache.curator
馆长框架
3.0.0
在日志中,它说它下载了curator-client.jar和curator-framework.jar,但我在我的外部库中没有看到它们(在IntelliJ IDEA中)。我不确定这些东西是否会出现在那里。我对使用Maven比较陌生,但我不确定我在这里遗漏了什么。任何帮助都会很好