首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jar与JDBC连接

问Jar与JDBC连接
EN

Stack Overflow用户
提问于 2015-06-27 15:06:05
回答 3查看 1.1K关注 0票数 1

我是新来爪哇的。

我使用Netbeans完成了我的Java程序,Netbeans使用JDBC (jdbc:mysql://localhost/inventory";)连接到mysql服务器,并构建了Jar。

当我运行jar时,它似乎不能连接mysql,我该怎么办?我是否应该将localhost更改为我的计算机IP?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2015-06-27 15:18:04

您是否需要用户名和密码?如果是这样,您可能需要将其添加到连接字符串中,如下所示:

代码语言:javascript
复制
jdbc:mysql://localhost/inventory?user=bandi&password=yourpass
票数 0
EN

Stack Overflow用户

发布于 2015-06-27 15:58:03

如果编译,它可以在netbeans中运行吗?如果是,则在运行.jar文件时似乎没有打开数据库服务器。尝试先打开mysql服务器,然后运行应用程序。另一种情况是,如果它在netbeans编译过程中不起作用,这意味着您的连接有问题,或者尝试关闭防火墙或杀毒软件。

票数 0
EN

Stack Overflow用户

发布于 2015-06-27 21:30:20

第一个可能的问题是您使用的URL:

应该是这样的:

代码语言:javascript
复制
jdbc:mysql://[my-sql-server-ip]:3306/inventory 

通常,对于小型应用程序,可以将服务器ip和服务器端口放在jar文件附近的.properties文件中。如果您不想要这个文件,您可以在应用程序启动时使用一个非常简单的GUI表单,以便从用户那里获取服务器ip和服务器端口。(如果这不是针对最终用户的应用程序,请不要设置为hard。只需使用JOptionPane.ShowInputDialog(...)即可获得输入并根据用户的输入动态创建连接URL。)

如果server-ip不是问题所在,那么通常第二个问题是my-sql的连接器jar文件不在应用程序的类路径中。

有两种解决方法:

  1. 丑陋但简单的方法:从my-sql的站点下载my-sql连接器的源文件,并将整个源代码放入您的应用程序中,然后您可以构建一个包含my-sql连接器类的Big Fatty jar文件。

这不是专家的选择,因为JDBC的哲学思想是:不将数据库层代码依赖于特定的数据库,并且当您在项目中注入my-sql连接器的源代码时,您与之紧密相连。此外,如果想要更新项目的my-sql连接器,则必须重新编译项目。我数不清这个解决方案的缺点,你可以自己读一读。

  1. 更好的方法是:在项目中放置一个清单(然后它将位于输出jar文件中),以声明类路径依赖关系。然后,在输出jar文件附近创建一个文件夹,其中包含连接器以及项目的其他依赖项。

例如在根文件夹中:

代码语言:javascript
复制
root-folder
+ [your output jar name].jar
+ [lib folder name]
   +  mysql-connector-java-[your version].jar

和MANIFEST.MF文件的条目:

代码语言:javascript
复制
Manifest-Version: 1.0
Class-Path: [lib folder name]/mysql-connector-java-[your version].jar
Main-Class: [fully qualified package and class name without .java to your main class]

例如:

代码语言:javascript
复制
Main-Class: com.staefi.main.App

哪个App.java是启动程序的main方法的类。

另一个技巧是将MANIFEST.MF文件放在项目中META-INF文件夹内的src文件夹的根目录中。例如:

代码语言:javascript
复制
src
+ META-INF
  + MANIFEST.MF
+ [your packages start here]

最后,您可以压缩根文件夹以创建项目和依赖项的可移植输出。

另一种方法是创建一个bat/sh文件来维护类路径和jar文件的执行,但它与上面的方法非常相似。如果是您,我就不会在输出jar文件中注入连接器的类。

祝好运。

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

https://stackoverflow.com/questions/31086139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档