Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >尝试使用HikariCP时出现NoClassDefFoundException

尝试使用HikariCP时出现NoClassDefFoundException
EN

Stack Overflow用户
提问于 2017-01-28 09:22:59
回答 2查看 6.7K关注 0票数 0

我对Bukkit编程的外部东西太生疏了,所以如果它这么容易解决,我很抱歉:P

我有一个问题,那就是当我试图在我的项目中使用HikariCP时,它返回一个错误(标题错误)。

我在一个BungeeCord插件中使用它。奇怪的是,我已经成功地完成了几次,我不知道为什么这一次不起作用。

错误/日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
06:13:36 [ADVERTENCIA] Exception encountered when loading plugin: DiverseReport java.lang.NoClassDefFoundError: com/zaxxer/hikari/HikariDataSource at net.srlegsini.DiverseReport.Bungee.MClass.onEnable(MClass.java:44) at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:227) at net.md_5.bungee.BungeeCord.start(BungeeCord.java:272) at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:55) at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15) Caused by: java.lang.ClassNotFoundException: com.zaxxer.hikari.HikariDataSource at net.md_5.bungee.api.plugin.PluginClassloader.loadClass0(PluginClassloader.java:53) at net.md_5.bungee.api.plugin.PluginClassloader.loadClass(PluginClassloader.java:27) at java.lang.ClassLoader.loadClass(Unknown Source) ... 5 more

我的主类:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package net.srlegsini.DiverseReport.Bungee;

import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Arrays;

import com.zaxxer.hikari.HikariDataSource;

import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.config.Configuration;
import net.md_5.bungee.config.ConfigurationProvider;
import net.md_5.bungee.config.YamlConfiguration;
import net.srlegsini.DiverseReport.Bukkit.UUIDFetcher;

public class MClass extends Plugin {

    static Configuration config;
    static MClass plugin;

    static HikariDataSource hikari;
    static Connection connection;

    public void onEnable() {
        BungeeCord.getInstance().getPluginManager().registerListener(this, new ChannelListener());
        BungeeCord.getInstance().registerChannel("Return");

        loadCfg();

        if (!config.contains("MySQL")) {
            config.set("MySQL.Enable", false);

            config.set("MySQL.Host", "localhost");
            config.set("MySQL.Port", 3306);
            config.set("MySQL.User", "user");
            config.set("MySQL.Pass", "pass");
            config.set("MySQL.Database", "Sr_DiverseReport");
        }

        saveCfg(getDataFolder());

        hikari = new HikariDataSource();
        hikari.setDataSourceClassName("com.mysql.jdbc.jdbc2.optional.MysqlDataSource");
        hikari.addDataSourceProperty("serverName", config.getString("MySQL.Host"));
        hikari.addDataSourceProperty("port", 3306);
        hikari.addDataSourceProperty("databaseName", config.getString("MySQL.Database"));
        hikari.addDataSourceProperty("user", config.getString("MySQL.User"));
        hikari.addDataSourceProperty("password", config.getString("MySQL.Pass"));

        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = hikari.getConnection();
        } catch (SQLException e1) {
            e1.printStackTrace();
        } catch (ClassNotFoundException e2) {

        }

        saveCfg(getDataFolder());



    }

    public void loadCfg() {
        try {
            File file = new File(getDataFolder(), "config.yml");
            if (!getDataFolder().exists()) {
                getDataFolder().mkdir();
            }

            if (!file.exists()) {
                file.createNewFile();
            }
            config = ConfigurationProvider.getProvider(YamlConfiguration.class)
                    .load(new File(getDataFolder(), "config.yml"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void saveCfg(File dataFolder) {
        try {
            ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, new File(dataFolder, "config.yml"));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    @SuppressWarnings({ "unused", "deprecation" })
    public static String getUUID(String playerName) {
        UUIDFetcher fetcher = new UUIDFetcher(Arrays.asList("evilmidget38", "mbaxter"));
        String playerUUID = null;
        try {
            playerUUID = UUIDFetcher.getUUIDOf(playerName).toString();
        } catch (Exception e2) {
            playerUUID = BungeeCord.getInstance().getPlayer(playerName).getUniqueId().toString();
        }

        return playerUUID;
    }

}

我的步骤:创建工程,导入buildpath中的BungeeCord.jar,HikariCP-2.6.0.jar,slf4j-api-1.7.21.jar,导入HikariCP-2.6.0.jar,slf4j-api-1.7.21.jar

它在其他项目中起作用了,但神奇的是,它被打破了。我不想使用Maven,只是因为它必须有一个修复,因为正如我所说的,我在过去使用过很多次相同的过程。

感谢您抽出时间阅读本文:)

编辑:Image of the project

EN

回答 2

Stack Overflow用户

发布于 2017-01-28 10:57:46

所有这些都在异常中:

由: java.lang.ClassNotFoundException: com.zaxxer.hikari.HikariDataSource引起

HikariDataSource在运行时丢失,您需要以某种方式提供它,例如,将带有“驱动程序”的相关.jar复制到您的服务器库文件夹中。

另请参阅一些相关问题:How to set up datasource with Spring for HikariCP?How do I configure HikariCP in my Spring Boot app in my application.properties files?

票数 0
EN

Stack Overflow用户

发布于 2017-01-28 11:08:49

从异常中可以清楚地看出,HikariCP-2.6.0.jar在编译时位于类路径中,但在运行时和项目结构的图像中丢失了。同样清楚的是,在ide中缺少HikariCP-2.6.0.jar和slf4j-api-1.7.21.jar作为库引用。您需要在编译时和运行时将这些jar保存在类路径库中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41908170

复制
相关文章
使用docker时出现tls timeout
本文由腾讯云+社区自动同步,原文地址 http://blogtest.stackoverflow.club/tls-timeout-docker/
羽翰尘
2019/11/21
2K0
JavaScript 使用 for 循环时出现的问题
有一些项目组在定位问题的时候发现,在使用 “for(x in array)” 这样的写法的时候,在 IE 浏览器下,x 出现了非预期的值。
四火
2022/07/15
4K0
JavaScript 使用 for 循环时出现的问题
使用pdfbox转换image时出现黑线问题
在使用pdfbox将pdf转image时在转换后的图片出现了一些粗粗的黑线,起初以为是pdfbox的bug,经过一系列的验证发现发生问题的根本原因在jai-imageio-jpeg2000这个jar包。
用户3459520
2021/05/11
2.1K0
使用svn时出现Can't switch /XXX/XXX because it is not the repository yet
问题描述 出现的问题如题目所示。 翻译一下:不能选择这个目录,原因是这个目录还不是svn仓库。 解决办法 这个问题出现的原因是你将项目中的.svn文件夹删除了,一般情况你是可以通过撤销将文件恢复的。如果实在是没有办法恢复了,那么你只能重新checkout了。 如果你并没有将文件删除,那么就是因为你的项目还不是一个svn项目,要么就是你没有将项目导入到svn仓库中,要么就是你并不是使用check out 将项目下载下来的。将这两个问题解决了就好。 结语 感谢您的阅读,欢迎指正博客中存在的问题,也可以跟
roobtyan
2018/06/04
1.1K0
使用Mysql Navcat导出查询数据excel时出现数据丢失
今天应产品运营的需要,需要导出一批订单数据,总数一共是七万多。按照以往的方式使用navicat将查询出来的表结果以excel的形式导出。
翎野君
2023/05/12
2.1K0
ubuntu下使用pip卸载包时出现Cannot uninstall scipy
ubuntu系统下使用pip uninstall scipy命令卸载包时,遇到报错信息为:
全栈程序员站长
2022/11/03
9640
使用idea断点调试时出现no executable code found at line问题
描述 今天突然碰到了这样的一个问题: 使用断点调试时,断点的地方出现了一个叉号,而不是对勾,这就让我非常无奈了。 调了一天,终于把这个问题解决了,还是要记录一下的。 问题情况如下:
roobtyan
2018/06/04
5.2K0
解决Python使用matplotlib绘图时出现的中文乱码问题
Python 中使用 matplotlib 绘图时发现控制台报如下问题,可知是中文字体问题:
AI悦创
2021/09/15
9.2K0
在 Spring Boot 中使用 HikariCP 连接池
上次帮小王解决了如何在 Spring Boot 中使用 JDBC 连接 MySQL 后,我就一直在等,等他问我第三个问题,比如说如何在 Spring Boot 中使用 HikariCP 连接池。但我等了四天也没有等到任何音讯,似乎他从我的世界里消失了,而我却仍然沉醉在他拍我马屁的美妙感觉里。
沉默王二
2020/07/02
1.4K0
执行Hive查询时出现OOM
使用的是缺省参数每个task分配200M内存「mapred.child.java.opts」
WHYBIGDATA
2023/01/31
9540
执行Hive查询时出现OOM
maven编译时出现There are test failures
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project web_nanchang: There are test failures. [ERROR] [ERROR] Please refer to E:\maven\web_nanchang\target\surefire-reports for the individual test r
闵开慧
2018/03/30
3.6K0
java 中getmapping,在Java spring尝试使用@getmapping到API时返回空JSON[通俗易懂]
我有一个带有记录器的@bean,该记录器返回它从JIRA API获得的JSON数据。我当前正在记录启动程序时的响应。现在我想开始在我的控制器中使用@getmapping,并想在localhost:8080/上执行GET请求时记录信息。
全栈程序员站长
2022/07/28
8.2K0
初次尝试使用VisualSFM记录
对于SFM一直觉得高大上又神秘,一年前粗略的了解过一下,今年有时间尝试深入了解SFM,对于初学者来说,VisualSFM真的时非常好的感受SFM的免费软件,于是通过其他博客的指导(没去看官方的英文版,容易犯困),做了一个3D模型出来,感觉还挺好玩,记录一下。
全栈程序员站长
2022/08/31
1.2K0
初次尝试使用VisualSFM记录
007尝试使用UML图
尝试使用uml图来帮助自己快速的构建稳健的程序 uml对理清自己的思路,应该是很有帮助的了
上善若水.夏
2018/09/28
8970
struts中使用this.addFieldError时出现错误解决办法
Struts has detected an unhandled exception: Messages: No result defined for action geekfly.action.LoginAction and result input Stacktraces No result defined for action geekfly.action.LoginAction and result input
geekfly
2022/05/06
2.7K0
在eclipse中使用Tomcat8.5时,出现了如下错误:
在建立Tomcat服务时,eclipse会自动生成一个Servers的项目. 在这个项目中,找到你部署项目的服务文件夹. 在这个文件夹下有一个"server.xml"文件,打开这个文件,删除里面对应项目的Context节点即可。
兮动人
2021/06/11
3.7K0
在eclipse中使用Tomcat8.5时,出现了如下错误:
使用el-upload进行服务端直传时出现错误
👨‍💻个人主页: 才疏学浅的木子 🙇‍♂️ 本人也在学习阶段如若发现问题,请告知非常感谢 🙇‍♂️ 📒 本文来自专栏: 问题(BUG)集合 🌈 每日一语:BUG不再来临 🌈 项目场景: 使用el-upload标签获取Java服务端签名直传 ---- 问题描述 第一次发送给oss的请求不会携带上数据而第二次就会携带上一次的数据 <el-upload class="avatar-uploader" action="# :data="policyOb
才疏学浅的木子
2022/11/13
2.8K0
使用el-upload进行服务端直传时出现错误
Java中ClassNotFoundException V.S NoClassDefFoundException 区别
如果在加载类时内存不足,则它可能会静默失败,从而在数据库中留下无效的类。 稍后,如果您尝试调用或解析任何无效的类,则将在运行时引发ClassNotFoundException或NoClassDefFoundException实例。 如果要加载损坏的类文件,将会得到相同的例外。 应该执行以下操作:
JavaEdge
2020/05/26
1.2K0
IDEA中使用tomcat9时出现乱码解决方法
1、修改IDEA中setting的设置Editor——File Encodings
cn華少
2021/07/21
9190
点击加载更多

相似问题

使用maven添加HikariCP时出现ClassNotFoundException错误

110

实现HIkariCP时出现ResultSetImpl错误

219

使用readObject()接收对象时的NoClassDefFoundException

11

使用javax.tools包时的NoClassDefFoundException

15

HikariCP尝试资源连接泄漏

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文