Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.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
Can';t从Termainal使用MySQL连接器运行Java类_Java_Mysql_Eclipse_Macos - Fatal编程技术网

Can';t从Termainal使用MySQL连接器运行Java类

Can';t从Termainal使用MySQL连接器运行Java类,java,mysql,eclipse,macos,Java,Mysql,Eclipse,Macos,没有人能够提出一个有效的解决方案,所以我作为一个新的帖子再次尝试 简单地说,我无法运行java类Version.class,它使用命令行中的mysql connector.jar文件。它在Eclipse中工作得很好,只是不在终端上。以下是我的文件结构: 我可以成功地从EclipseIDE执行,但当试图从终端执行java.class文件时,我遇到了一些问题 ~/dropbox/workspace/mysqltut/src/zetcode/Version.java ~/dropbox/workspa

没有人能够提出一个有效的解决方案,所以我作为一个新的帖子再次尝试

简单地说,我无法运行java类Version.class,它使用命令行中的mysql connector.jar文件。它在Eclipse中工作得很好,只是不在终端上。以下是我的文件结构:

我可以成功地从EclipseIDE执行,但当试图从终端执行java.class文件时,我遇到了一些问题

~/dropbox/workspace/mysqltut/src/zetcode/Version.java
~/dropbox/workspace/mysqltut/src/zetcode/Version.class
~/dropbox/workspace/mysqltut/lib/mysql-connector-java-5.1.30-bin.jar

在终端中导航到
~/dropbox/workspace/mysqltut/src/
后,我运行以下操作:

java-cp.:lib/mysql-connector-java-5.1.30-bin.jar zetcode/Version

May 03, 2014 10:54:31 PM zetcode.Version main
SEVERE: No suitable driver found for jdbc:mysql://localhost:3306/
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/
    at java.sql.DriverManager.getConnection(DriverManager.java:596)
    at java.sql.DriverManager.getConnection(DriverManager.java:215)
    at zetcode.Version.main(Version.java:24)

我的语法/文件结构有问题还是安装不正确?

您正在src文件夹中运行此操作。lib是src的兄弟,而不是子。因此,当您将classpath设置为lib时,我相信它是在src文件夹中查找lib。你能把你的类路径调整到。:../lib/。。。或者上一层到mysqsltut运行程序?

请显示代码。首选可编译/可运行的示例。(@prabug-yep,不知道我有足够的代表评论):)发生了。在看到你有足够的重复次数后,我发布了一篇文章。我为完全相同的问题提供了一个答案:太好了!这起作用了。非常感谢,我都快疯了。虽然这样做有效,但您是否可以推荐一种传统的文件结构?库应该把我放在别的地方吗?您还可以解释一下在终端中移动文件结构的各种开关吗?我假设“:”与“/”相同,对吗?什么是“;”和一些更常用的开关?再次感谢!另外,如果我升级到mysqltut,我将如何运行它?使用src/zetcode/Version无法工作,因为它返回
错误:无法找到或加载主类src.zetcode.Version
Ah。。问题,问题,问题。太好了,你做得对。您可能会从这里开始:这解释了什么是类路径,以及如何以各种方式设置它。要回答您的问题。是当前目录,:是linux的路径分隔符,我相信…/是一级了。至于您的第二条评论,请尝试
src/zetcode.Version
,并告诉我这是否有效。另外,如果您的原始问题得到了回答,请标记为是。谢谢prabu。大约一小时前你的建议一生效我就做了标记。它没有显示吗?在mysqltut中,使用
java-cp lib/mysql-connector-java-5.1.30-bin.jar src/zetcode.Version
,正如您所建议的那样,不起作用。它只返回
错误:无法找到或加载主类src.zetcode.Version
我相信在执行类文件时,您必须在包文件夹中,因此,当我在src中时,仅识别zetcode.Version。