java - jar 中的 exe 无法从本地主机访问 MySQL

标签 java mysql jar launch4j

我有一个通过 xampp 连接到 MySQL 的 GUI 应用程序。使用netbeans运行很好,但是当我使用jar中的Launch4j将其包装为exe时,它无法连接到数据库(即使接口(interface)仍然工作,它也会遇到异常)

我选择了自定义类路径,它包含 mysql 库。

enter image description here

这就是抛出异常的原因:

try
        {
          // create our mysql database connection
          Class.forName("com.mysql.jdbc.Driver");
          conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/vietcombank.db?useUnicode=yes&characterEncoding=UTF-8","admin", "123456789");
        }
        catch (Exception e)
        {
          System.err.println(e.getMessage());
        }

异常的输出是com.mysql.jdbc.Driver。但是,如果我通过 cmd 直接运行 jar 本身,位置为 java -jar "D:\NetworkProgramming\ServerATM\dist\ServerATM.jar" 它运行得很好。是因为 Launch4j 没有包含这些库吗?

谢谢。

最佳答案

而不是这个:

private String url = "jdbc:mysql://localhost/your-database-name";

尝试使用这个:

私有(private)字符串 url = "jdbc:mysql://127.0.0.1/your-database-name";

关于java - jar 中的 exe 无法从本地主机访问 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29935713/

相关文章:

java - 类加载器、类差异

php - 从 PHP 变量的 3 个表中的 MYSQL 查找电子邮件

java - "\n"导出到 .jar 文件时不起作用

java - JList 组件中 JCheckBox 的边距

java - 完成和垃圾收集

java - 有没有像 Observable ConcurrentLinkedDeque 这样的东西?

mysql - 应用程序刷新后,Extjs Store 显示零记录

mysql - 如何使用 REPLACE() 替换 mysql SELECT 查询中 1 列中的多个值?

maven - 在阴影 jar 中使用 log4j 的问题

java - 导入的 jar 文件创建空包