Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jdbc 由于设置类路径,java程序未运行_Jdbc_Java - Fatal编程技术网

Jdbc 由于设置类路径,java程序未运行

Jdbc 由于设置类路径,java程序未运行,jdbc,java,Jdbc,Java,我想练习用java开发数据库程序,所以我通过声明一个新的环境变量classpath将classpath设置为E:\software\installed\java\jre\lib,并将值设置为E:\software\installed\java\jre\lib,但现在我无法运行任何程序(甚至非数据库),我得到一个错误 Error: Could not find or load main class MysqlConnect 但是当我删除classpath变量时,我就能够运行非数据库程序了。什么是

我想练习用java开发数据库程序,所以我通过声明一个新的环境变量
classpath
将classpath设置为
E:\software\installed\java\jre\lib
,并将值设置为
E:\software\installed\java\jre\lib
,但现在我无法运行任何程序(甚至非数据库),我得到一个错误

Error: Could not find or load main class MysqlConnect
但是当我删除
classpath
变量时,我就能够运行非数据库程序了。什么是可能的问题,请让我知道解决办法。我已将路径设置为
E:\software\installed\java\bin


没有任何帮助我尝试在java中使用类路径开关,但没有任何帮助(
java-cp C:\Program Files\MySQL\MySQL Server 5.5 MysqlConnect
),设置路径也没有帮助(
set CLASSPATH=%CLASSPATH%:C:\Program Files\MySQL\MySQL Server 5.5:C:\Program Files\MySQL\MySQL Server 5.5\MySQL-connector-java-5.1.20-bin.jar
)所有人都给出了错误


错误:无法找到或加载主类MysqlConnect

您不应该使用系统变量为程序定义
类路径。标准方法是使用命令行
-cp
-classpath
选项。看看
java
在没有参数的情况下打印出什么

您会发现在中提到了这一点。它说:

指定类路径的首选方法是使用-cp命令行开关。这允许为每个应用程序单独设置类路径,而不会影响其他应用程序。设置类路径可能很棘手,应小心执行


另外,请参见默认的
CLASSPATH
environmetn变量中如何包含
。如果您仍然决定在那里添加您的类,请为其他公民保留
,并在
之后添加您的类
,不要只覆盖整个值。

如果使用windows
JAVA\u HOME=E:\software\installed\JAVA
,并在附加JAVA bin目录后设置环境变量
%JAVA\u HOME%\bin
。请注意,路径之间用分号分隔,希望能对您有所帮助。这是我的工作!!!。我不明白。发生了什么?

我建议使用Eclipse这样的好工具。您可以通过添加或删除jar文件和库来间接测试类路径和您的环境

显然,默认类路径中的库与E驱动器中的库不同。您可以通过了解类路径来比较这些文件。在Windows中,执行“回显%CLASSPATH%”

Eclipse可以帮助您进行实验,而无需重新启动或任何恼人的步骤。这件事并不容易。

这里有一个给初学者的建议,可以帮助你找到答案。如果您跳到第14步,它将给出一个类路径的使用示例。正如第一个响应者所说,它是通过命令行使用的


希望这能在你的特殊情况下对你有所帮助。本教程不是特定于数据库的,因此它将适用于您正在使用的任何类型的数据库。

好的,至少我找到了解决方案,它应该是

C:\Users\sarad mohanan\Desktop\rose>java-cp。;“c:\Program Files\MySQL\MySQL Server 5.5\MySQL-connector-java-5.1.20-bin.jar”MysqlConnect
MySQL连接示例。
已连接到数据库
已断开与数据库的连接


我们必须添加
前的code>保存默认类路径。pravel veller之前说过,但我当时不明白这一点。第一课:不要设置环境类路径变量。在通过-cp开关调用Java程序时设置它。或者更好的方法是,创建一个使用类路径清单的Jar。然后,阅读有关类路径的oracle文档。
java-cp C:\Program Files\MySQL\MySQL Server 5.5 MysqlConnect
给出错误
错误:无法找到或加载主类MysqlConnect
@Sar009,您必须确保您的
MysqlConnect
位于该文件夹的
.class
jar
表单中。并考虑使用“<代码>”“<代码>”将路径包含在其中。另外,您的
MysqlConnect
类可能是在一个包中定义的,因此您需要使用它的“完整限定名”来引用它,比如
home.sar009.MysqlConnect
。我这样做
C:\Users\sarad mohanan\Desktop\rose>java-cp“C:\Program Files\MySQL\MySQL Server 5.5”“C:\Users\sarad mohanan\Desktop\rose\MysqlConnect”
但仍然是相同的错误
错误:无法找到或加载主类
它不在包中。我还尝试将
MysqlConnect.class
保留在
c:\Program Files\MySQL\MySQL Server 5.5
中,并将目录更改为该路径并运行,但仍然没有帮助。我认为java正在接受-cp开关,但在那之后它找不到
MysqlConnect
classe。我还发现,在使用-cp开关之后,我无法执行任何程序,即使是非数据库程序。它给出错误
错误:找不到或加载主类类名
。因此,我们必须解决-cp开关不工作的问题,然后才能找到解决原始问题的方法