首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JDBC类不工作

JDBC类不工作
EN

Stack Overflow用户
提问于 2011-01-18 11:44:55
回答 6查看 10.9K关注 0票数 3

我正在设置一个简单的JDBC连接到我的服务器上正在工作的MySQL数据库。我正在使用MySQL提供的Connector-J。根据他们的文档,我假设创建CLASSPATH变量来指向mysql-connector-java-5.0.8-bin.jar所在的目录。我使用了export set CLASSPATH=/path/mysql-connector-java-5.0.8-bin.jar:$CLASSPATH。当我输入echo $CLASSPATH查看它是否存在时,一切似乎都很好。但是当我打开一个新的终端并输入echo $CLASSPATH时,它就不再存在了。我认为这是我的Java服务器不能连接到JDBC的主要原因,因为它没有保存我设置的CLASSPATH变量。

有没有人有关于如何设置JDBC的建议或解决方案?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-01-18 11:53:01

忘记CLASSPATH环境变量。这是个大笑话。除了低级的java com.example.Foo命令之外,几乎所有其他东西都忽略了它。当您添加-jar参数时,它会被忽略。当您添加-cp-classpath参数时,它会被忽略。它被IDE和web/应用程序服务器忽略。该环境变量旨在为初学者提供方便。但除此之外,它是没用的。

归根结底,JAR文件必须放在所讨论的Java应用程序的运行时类路径的任何现有/默认路径中,或者至少要将JAR文件的路径添加到所讨论的Java应用程序的运行时类路径中。

由于您讨论的是服务器,并且考虑到CLASSPATH环境变量不起作用,因此我假设它实际上是一个webserver/appserver,比如Apache Tomcat。如果确实如此,您必须将JAR文件放在Tomcat/lib文件夹中(如果您使用容器管理的DataSource方法来实现快速连接池),或者放入webapp的WEB-INF/lib文件夹中(如果您使用穷人的Class#forName()方法加载驱动程序)。

如果不是这样,并且它实际上是一个要作为JAR执行的Java应用程序,那么您必须在有问题的JAR的MANIFEST.MF文件中指定类路径。但是如果它也不是这样,并且它是一个松散的.class文件,那么您必须在-cpjava命令的-classpath参数中指定类路径。为了避免在执行它时反复键入它,只需使用命令创建一个.sh文件即可。

票数 2
EN

Stack Overflow用户

发布于 2011-01-18 11:49:52

试着去做:

代码语言:javascript
复制
Class.forName("com.mysql.jdbc.Driver"); 

在获得连接之前

您可能还希望获得较新版本的mysql jdbc驱动程序。5.0.8是相当老的版本。

看看JDBC Basics,它会给你一些提示。

tutorial可能也会对您有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2011-01-18 11:52:35

你似乎在linux机器上工作。确保您的终端启动了一个login外壳。例如,gnome-terminal应用程序(如果您使用ubuntu或fedora框进行开发,可能会使用该应用程序)在配置文件首选项>标题和命令菜单下有一个名为"run command as a login shell“的复选框。检查并确保您还将此代码放在~/.bash_profile文件的末尾。

代码语言:javascript
复制
export CLASSPATH=/path/mysql-connector-java-5.0.8-bin.jar:$CLASSPATH

但我反对这样做,并为您的应用程序编写一个简单的启动脚本。类似于下面的内容:

代码语言:javascript
复制
#!/bin/bash

Set CLASSPATH=CLASSPATH=/path/mysql-connector-java-5.0.8-bin.jar:$CLASSPATH

java -cp "$CLASSPATH" <your.main.application.Class>

使其成为可执行文件,并使用它启动您的应用程序。

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

https://stackoverflow.com/questions/4720284

复制
相关文章

相似问题

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